mathematica或matlab中,将复杂的符号函数形式化简为特定函数形式。
可以参考一下。
Matlab提供大量函数以用于符号表达式的化简.
collect(f): 函数用途是合并多项式中相同的项, 如: syms x t
f=(1+x)t+xt;
collect(f)
expand(f):展开多项式, syms x
f=x*(x*(x-1)+3)+2;
expand(f);
horner(f) 对转换多项式为Horner形式, 这种形式的特点是乘法嵌套, 其有着不错的数值计算性质. syms x;
f=x^3+2x^2+5x-2
horner(f)
factor(f): 多项式的因式分解. 如果无法在有理数的范围内作分解, 那么返回的结果还是输入值. syms x;
f=x^3-6x^2+11x-6;
factor(f)
simplify(f): 通过数学运算化简符号表达式 syms x;
f=cos(x)^2+sin(x)^2
simplify(f)
simple(f): 威力比较强大, 它会尝试各种办法来化简符号表达式, 其化简的标准是使得符号表达式的长度最短. syms x
f=sin(x)^2+cos(x)^2;
simple(f)
subexpr(f): 通过计算机自动寻找, 将表达式中多次出现的因式用简短的符号表示, 返回的结果中包含替换之后的表达式, 以及被替换的因式. syms x a;
f=solve(x^2+ax-1);
r=subexpr(f);
pretty(f): 用"我们人能看到懂"的表示方法表示出符号表达式. 不过做好心理准备, 可能这样显示出来的表达式更发指! syms a x;
f=solve(x^2+ax-1);
pretty(f);
可以参考一下这篇文章进行学习一下
https://blog.csdn.net/weixin_43455581/article/details/103367525
simplify(f) 对符号表达式进行化简,它利用各种类型的代数恒等式,包括求和、
积分、三角函数、指数函数以及 Bessel 函数等来化简符号表达式
simple(f) 对符号表达式尝试多种不同的算法进行化简,以显示长度最短的符号
表达式简化形式
[r,how]=simple(f) 返回的 r为符号表达式进行化简后的形式, how为所采用的简化方法
collect(f) 合并符号表达式的同类项
horner(f) 将一般的符号表达式转换成嵌套形式的符号表达式
factor(f) 对符号表达式进行因式分解
pretty(f) 将符号表达式化简成与高等数学课本上显示符号表达式形式类似
expand(f) 对符号表达式进行展开