matlab中可以使用指令syms x定义一个符号变量x。符号变量可以进行算数运算,积分等操作。
matlab还有一个指令sym,感觉sym功能不如syms强大。
本文只提到syms相关的函数功能,不介绍函数具体用法。所有用法都可以参考 syms官方文档
定义
syms x
syms x y z
符号矩阵
syms lamda;
A=[1-lamda,-2,4;2,3-lamda,1;1,1,1-lamda];
D=det(A);
factor(D)
四则运算
+、-、*、/、^
syms x;
f=2*x^2+3*x-5;
g=f+x
关系运算
6种关系运算符:<、<=、>、>=、==、~=。
对应的6个函数:lt()、le()、gt()、ge()、eq()、ne()。
逻辑运算
3种逻辑运算:&(与)、|(或)、~(非)。
4个逻辑运算函数:and(a,b)、or(a,b)、not(a)和xor(a,b)。
这两种都可以用,是一样的;
y=and(x>0,x<10)
y=x>0&x<10
其他
指定定义域assume(x<0);
①提取有理分式的分子分母;[n,d]=numden(s)。
②提取符号表达式的系数:c=coeffs(s,x)。
③符号表达式化简:simplify(s)。
④符号多项式与多项式系数之间的转化:
符号多项式转化为多项式系数向量:p=sym2poly(s)。
多项式系数向量转化为符号多项式:s=poly2sym(p)。
相关函数
! ! ! ! 因式分解与展开
①factor(s):对符号表达式s分解因式。
②expand(s):对符号表达式s进行展开。
③collect(s):对符号表达式s合并同类项。
④collect(s,v):对符号表达式s按变量v合并同类项。
! ! ! ! 计算
计算一个符号变量组成的函数的值。
subs(f,x,y) 把f中的x换成y
subs(f,y) 把f中的主变量换成y。
symvar(f,1) 找出f的主变量。
eval(f) 重新计算f的值。
syms x
m=2^x
x=10
m19=eval(m)
极限、微分(导数)、积分
极限 limit(f,x,a)
积分 int(f,x)
导数 diff(f,x,n)
绘图
用fplot绘制符号函数
syms x;
f=x^2;
fplot(f,[0,1]);
2329





