如何处理符号运算在不同版本的差别
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
>> syms x
>> int(1/(x-x^2))
在新版本里:
ans =
2*atanh(2*x - 1)
在旧版本里:
ans=
log(x)-log(x-1)
------------------------------------
又如:
>> dsolve('Dx=x-x^2')
在新版本里:
ans =
1
0
-1/(exp(C2 - t) - 1)
在旧版本里:
ans=
1/(1+exp((-t)*C1)
---------------------------------
再如:
>> int(x-x^2)
在新版本里:
ans =
-(x^2*(2*x - 3))/6
>> pretty(ans)
2
x (2 x - 3)
>> collect(ans)
ans =
- x^3/3 + x^2/2
- ------------
6
而在旧版本里:
ans=
1/2*x^2-1/3*x^3
还有一个更大的差别:
syms a b c d x;
solve('a*x^3+b*x^2+c*x+d=0')
用旧版Matlab(V6.5)解出的x是用a,b,c,d 表示的结果(虽然很长!)。
而在Matlab2018里则有这样的结果:
syms a b c d x
eqn=a*x^3+b*x^2+c*x+d==0
>> solve(eqn,x)
ans =
root(a*z^3 + b*z^2 + c*z + d, z, 1)
root(a*z^3 + b*z^2 + c*z + d, z, 2)
root(a*z^3 + b*z^2 + c*z + d, z, 3)
难道新版本反而不会计算了?所以有时觉得旧版本更好用啊。
不知道各位是怎样处理的?
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!