用Matlab求不定积分算出来的结果怎么不对?

如题,我用matlab试算了一个简单的积分:对 1-x 进行积分,方法是 int('1-x','x')。
很明显结果应该是 x-0.5*x^2
但是matlab算出来却是:-(x - 1)^2/2
求问这是为什么啊??

1-x的不定积分不是x-0.5*x^2,而是 x-0.5*x^2+C,不定积分不是一个函数,而是一族函数,
-(x - 1)^2/2 =x-0.5*x^2-0,5 也是这族函数里的一个。
matlab给出的答案省略了任意常数C,换句话说matlab求出的答案也不是-(x - 1)^2/2,而是
-(x - 1)^2/2+C。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-08
因为是不定积分,后面会有常数项。
你和matlab计算的差别在于你对1和-x求积分,应该是得x+c1-0.5*x^2+c2;
matlab的思路是另u=1-x,看成一个整体,du=d(1-x)=-dx,对udu求积分,计算的结果
-(x - 1)^2/2+c(matlab默认不输出这个常数项)。
其实本质上两个的计算结果是一致的。希望能帮到你。本回答被提问者和网友采纳
第2个回答  2012-07-08
函数求不定积分,int(1/x^1000)时还能求出结果,可是当int(1/x^10000)matlab2008a以后用的的mupad,这个是matlab有的符号引擎的问题,我有maple算
第3个回答  2012-07-08
是对的
matlab的结果和你的结果就差一个常数
相似回答