用MATLAB推导数学表达式时,用一些化简操作可以帮助我们得到想要的结果
matlab提供的操作命令:合并同类项、对指定项展开、因式分解、转换成嵌套形式、提取公因子、恒等式化简
-----------------------------------------------------------(●'◡'●)-------------------------------------------------------------
(1)合并同类项collect
%表达式为s,R返回合并同类项之后的表达式 %R=collect(s) %R=collect(s,v) syms x y; f1=(exp(x)+x)*(x^2+x+2) f2=(x+y)*(x^2+y^2+1) R_f1=collect((f1)) R_f2x=collect(f2,x) R_f2y=collect(f2,y)
运行结果:
(2)对指定项展开expand
%s为表达式 %expand(s)展开表达式 syms x y; f1=(x+1)*(x+5) f2=cos(x+y) R1=expand(f1) R2=expand(f2)
运行结果:
(3)因式分解factor
%f=factor(n)返回n的因子,结果为一个行向量; n=48 f=factor(n)
运行结果:
(4)转换成嵌套形式horner
syms x; P=x^3-6*x^2+11*x-6 R=horner(P)
运行结果:
(5)提取公因子numden
%A为多项式 %[N,D]=numden(A)返回A的分子和分母 syms x; A=x/y+y/x [N,D]=numden(A)
运行结果:
(6)恒等式化简simplify
%B=simplify(A)返回表达式A的最简形式 syms x; A=(1/x^3+6/x^2+12/x+8)^(1/3) B=simplify(A)
运行结果:
-----------------------------------------------------------(●'◡'●)-------------------------------------------------------------
这些都是符号计算的常用函数~