Definite Integration in Matlab

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

 采纳的回答

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 ?

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by