新浪博客

matlab 以某一自变量求解符号函数并化简

2017-11-14 20:40阅读:
clc;clear;
syms Eex kp ki w;
%符号函数表达式
eq=((Eex*kp*w)^2+(Eex*ki)^2)/((Eex*ki-w^2)^2+(Eex*kp*w)^2)-1/2;
wb=solve(eq==0,w)%以w为变量求解符号函数
pretty(wb)%将符号表达式化简成与高等数学课本上显示符号表达式形式类似
% Matlab化简符号表达式
% 化简符号表达式计算机毕竟还是挺笨的, 经过一系列的符号计算后, 得到的结果可能只有它自己才能看懂,
% Matlab提供大量函数以用于符号表达式的化简.
%
% collect(f): %函数用途是合并多项式中相同的项, 如: syms x t
% f=(1+x)*t+x*t;
% collect(f)
% expand(f):%展开多项式, syms x
% f=x*(x*(x-1)+3)+2;
% expand(f);
% horner(f) %对转换多项式为Horner形式, 这种形式的特点是乘法嵌套, 其有着不错的数值计算性质. syms x;
% f=x^3+2*x^2+5*x-2
% horner(f)
% factor(f): %多项式的因式分解. 如果无法在有理数的范围内作分解, 那么返回的结果还是输入值. syms x;
% f=x^3-6*x^2+11*x-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+a*x-1);
% r=subexpr(f);
% pretty(f): %用'我们人能看到懂'的表示方法表示出符号表达式. 不过做好心理准备, 可能这样显示出来的表 % 达式更发指! syms a x;
% f=solve(x^2+a*x-1);
% pretty(f);

我的更多文章

下载客户端阅读体验更佳

APP专享