Perhaps a bug in matlab?

1 次查看(过去 30 天)
Mohammad Shojaei Arani
Hello friends!
I think I have encountered a bad issue about matlab, perhaps it is a bug. Consider the following commands
>> syms x x0 a b
>> f=int(1/(a+b*x),x)
f =log(a + b*x)/b
but now, trhe following command does not give me the result it should (it feels as if matlab is unable to solve this easy integration)
>> f=int(1/(a+b*x),x,x0,x)
f =int(1/(a + b*x), x, x0, x)
and I have to fix this by the command f=int(1/(a+b*x),x);f=f-subs(f,x,x0). Note that, in some other cases matlab does the job correctly, for instance:
f=int(sin(x),x,x0,x)
f =cos(x0) - cos(x)
It took a rather long time for me to understand why my code (not these stuff. I am talking about a very big code where these stuff were just a tiny part of it) does not produce the result it must produce.
I hope matlab developers really correct such bugs! Very annoying part is that matlab is not free and has such problems!!!

回答(1 个)

Walter Roberson
Walter Roberson 2022-1-23
编辑:Walter Roberson 2022-1-23
It is correct that it should not be giving you the solution. Your equations do not account for the possibility that you might be integrating through a discontinuity.
syms x x0 a b real
f = int(1/(a+b*x), x, x0, x, 'ignoreanalytic', true)
f = 

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by