您的位置:首页 > 编程语言 > MATLAB

Matlab 符号运算的因式分解、展开与合并、简化

2015-07-27 11:37 561 查看
对于matlab求解符号运算中几个常用的函数,主要说一下因式分解、展开还有合并。

(1)对于因式分解使用的是factor()函数。

例1:factor函数对于纯数字也可以进行分解的

factor(112)

ans =

2 2 2 2 7

例2:对于符号函数

syms x y;

factor(x^3-y^3)

ans =

(x – y)*(x^2 + x*y + y^2)

(2)对于代数式的展开使用的是expand()函数。

例3:对于符号变量的代数展开式

syms x;

expand((x-2)*(x-4))

ans =

x^2 – 6*x + 8

例4:

syms x y;

expand(cos(x+y))

ans =

cos(x)*cos(y) – sin(x)*sin(y)

(3)同幂系数的合并。

语法规则如下:

R = collect(S)

R = collect(S,v)

例5:

syms x y;

R1 = collect((exp(x)+x)*(x+2))

R2 = collect((x+y)*(x^2+y^2+1), y)

R3 = collect([(x+1)*(y+1),x+y])

运行结果如下

R1 =

x^2 + (exp(x) + 2)*x + 2*exp(x)

R2 =

y^3 + x*y^2 + (x^2 + 1)*y + x*(x^2 + 1)

R3 =

[ y + x*(y + 1) + 1, x + y]

(4)简化

D =

 

[ a*x + b*y, a*y + b*z, b*x + a*z]

[ a*y + b*z, b*x + a*z, a*x + b*y]

[ b*x + a*z, a*x + b*y, a*y + b*z]

det(D) = - a^3*x^3 + 3*a^3*x*y*z - a^3*y^3 - a^3*z^3 - b^3*x^3 + 3*b^3*x*y*z - b^3*y^3 - b^3*z^3;

factor(det(D))=-(x + y + z)*(x^2 - x*y - x*z + y^2 - y*z + z^2)*(a + b)*(a^2 - a*b + b^2);

simplify(det(D))=-(a^3 + b^3)*(x^3 - 3*x*y*z + y^3 + z^3);

完!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: