MATLAB中将代数式化为手写格式的格式转化命令pretty
在MATLAB的使用中,MATLAB的功能虽强,但是它的计算能力并不直观,特别是乘和幂次运算,*和^在式子中使人看着觉得繁琐,而pretty命令则解决了这个问题。它的用法很简单。如A为待转化格式的代数式,命令pretty(A)即可将A由机器格式转化为手写格式,而且在转化过程中不会对A式进行任何化简或展开。
例题
将函数f=(x+y)(a+bc)z/(x+a)2和g=(a+bc)z/x(a+bc)z/y(x+a)2用pretty命令转化为手写格式,并判断两式是否相等。
输入程序如下:
>> syms x y z a b c
>> f=(x+y)*(a+b^c)^z/(x+a)^2;
>> g=(a+b^c)^z/(x+a)^2*x+(a+b^c)^z/(x+a)^2*y;
>> pretty(f)
c z
(x + y)(a + b)
----------------
2
(a + x)
>> pretty(g)
c z c z
x (a + b) y (a + b)
----------- + ----------
2 2
(a + x) (a + x)
>> f-g
ans =
((x + y)*(a + b^c)^z)/(a + x)^2 - (x*(a + b^c)^z)/(a + x)^2 - (y*(a +b^c)^z)/(a + x)^2
此次相减结果不为0,再用pretty命令观察一下:
>> pretty(ans)
c z c z c z
(x + y)(a + b) x (a + b) y (a + b)
----------------- - ----------- - ----------
2 2 2
(a + x) (a + x) (a + x)
由此可见,f-g的结果只是两式在形式上相减了一下,而完全没有进行化简。