Definite Integration in Matlab

1 view (last 30 days)
I have been working hard on it, but do not seem to have a clue....
I have a symbolic function f(a very complicated function). I want to integrate the function with limits say:: a(lower) to b(higher)
if true
% code
{
k=int(f,a,b);
k=vpa(k);
}
With the last sentence it should give numerical output, but instead, it simply shows:
numeric::Int(f)
But when I decrease the upper limit(b), it works fine(gives a numeric output). I cannot change the limit.
Hence, it seems that when the upper limit goes above a certain value, it doesn't give a numeric output. I cannot even use trapz and other functions, it drastically increases the time. It's a very lengthy program.
Thanx

Accepted Answer

Walter Roberson
Walter Roberson on 4 Jul 2013
I think it likely that with the higher b, the numeric integrator is detecting that you are exceeding the tolerance for integration error.
What happens if you do something like
k = int(f,a,c) + int(f,c,b);
where c is an intermediate point known to be small enough to integrate successfully ?
  1 Comment
Protyush
Protyush on 4 Jul 2013
Thanx a lot dude....guess it never struck my mind...

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!