matlab定义函数表达式
Matlab化简符号表达式
化简符号表达式计算机毕竟还是挺笨的, 经过⼀系列的符号计算后, 得到的结果可能只有它⾃⼰才能看懂, Matlab提供⼤量函数以⽤于符号表达式的化简.
1. collect(f): 函数⽤途是合并多项式中相同的项, 如: syms x t
f=(1+x)*t+x*t;
collect(f)
2. expand(f):展开多项式, syms x
f=x*(x*(x-1)+3)+2;
expand(f);
3. horner(f) 对转换多项式为Horner形式, 这种形式的特点是乘法嵌套, 其有着不错的数值计算性质. syms x;
f=x^3+2*x^2+5*x-2
horner(f)
4. factor(f): 多项式的因式分解. 如果⽆法在有理数的范围内作分解, 那么返回的结果还是输⼊值. syms x;
f=x^3-6*x^2+11*x-6;
factor(f)
5. simplify(f): 通过数学运算化简符号表达式 syms x;
f=cos(x)^2+sin(x)^2
simplify(f)
6. simple(f): 威⼒⽐较强⼤, 它会尝试各种办法来化简符号表达式, 其化简的标准是使得符号表达式的长度最短. syms x
f=sin(x)^2+cos(x)^2;
simple(f)
7. subexpr(f): 通过计算机⾃动寻, 将表达式中多次出现的因式⽤简短的符号表⽰, 返回的结果中包含替换之后的表达式, 以及被替换的
因式. syms x a;
f=solve(x^2+a*x-1);
r=subexpr(f);
8. pretty(f): ⽤"我们⼈能看到懂"的表⽰⽅法表⽰出符号表达式. 不过做好⼼理准备, 可能这样显⽰出来的表达式更发指! syms a x;
f=solve(x^2+a*x-1);
pretty(f);