第九章
2.subs函数
subs函数可以用指定符号替换符号表达式中的某一特定符号,调用格式:
R=subs(s)%用工作空间中的变量值替代符号表达式s中的所有符号变量
R=subs(S,New)%用新符号变量New替代原来符号表达式S中的默认变量
R=subs(S,Old,New)%用符号变量New替代原来符号表达式S中的变量Old【9 7】替换函数subs
应用示例
syms a b t;
subs(a^2+a*b+8,a,1) %将a^2+a*b+8中的a替换为1
subs(exp(a*t),'a',-magic(2)) % magic函数应用:生成一个n*n阶的魔方矩阵,即每行每列、对角线和都相等
9.1.4符号表达式的化简
collect函数(就是用来合并同类项的)
功能:将符号表达式中的同类项合并
调用格式:R=collect(S) %合并表达式S中相同次幂的项。S可以是表达式,也可以是符号矩阵
R=collect(S,v) %合并表达式S中具有V 次幂的项。不指定v,则合并所有x相同次幂的项
expand函数 (将里面的式子展开)
expand(cos(x+y)) %将三角函数展开,=cosx*cosy-sinx*siny
horner(f) 函数(将多项式转换成嵌套形式 就是跟collectsyms x y;horner(f)差不多的 提公因式)
syms x y
f=x^3-6*x^2+11*x-6;
horner(f)
factor函数
(对多项式进行因式分解)
simplify函数
(按照特定要求化简式子)
M=[(x^2+5*x+6)/(x+2),sin(x)*sin(2*x)+cos(x)*cos(2*x);
(exp(-x*1i)*1i)/2-(exp(x*1i))/2,sqrt(16)];
S=simplify(M)
sqrt函数
(就是开根号 求平方根的)
digits(d)
%将近似解的精度调整为d位有效数字,d默认为32,为空时,得到当前采用的精度
vpa(A,d)
%求符号解A的近似解,该近似解的有效数位由参数d指定
%如果不指定d,则按照一个digits(d)指令设置的有效位数输出
double(A)
%把符号矩阵或任意精度表示的矩阵A转换成双精度矩阵
A=[3.100 1.300 5.500;4.978 4.400 1;9.000 2.90 4.61];
S=sym(A) %就是说
digits(6)%转换成有效位数为6的任意精度的矩阵
vpa(S)
9.2符号微积分及其变换
1.diff函数
(就是求导数着呢 后面有个数就是 让求几阶导)
调用格式:
Y=diff(X) %对符号表达式或符号矩阵X求微积分
Y=diff(X,n) %对X中的默认变量进行n阶微分运算
Y=diff(X,n,dim) %对符号表达式或者矩阵X沿dim指定的维进行n阶微分运算
2.jacobian函数
注意:第一个参数必须是行向量 第二个参数必须是列向量。
limit函数
limit(F,x a) %求当→a时符号表达式F的极限
limit(F,a) %F采用默认自变量,求F的自变量趋近于a时的极限值
limit(F,x,a,'left') %求F的左极限,即自变量从左趋近于a时的函数极限值
limit(F,x,a,'right') %求F的右极限,即自变量从右边趋近于a时的函数极限值
sysum函数
级数求和 例如K^2
r=sysum(s,v,a,b) %求符号表达式s中的变量v从a到b的和
r=symsum(s,a,b) %求符号表达式s中的默认自变量从a到b的和
r=symsum(s,v) %求符号表达式s中的变量v从0到v-1的和
Taylor函数
利用已知函数的不同阶导数的组合近似地逼近函数。
调用格式:T=taylor(f) %返回符号表达式f在默认变量=0处做5阶Taylor展开时的展开式
T=taylor(f,v) %返回符号表达式f在v=0处做5阶Taylor展开时的展开式
T=taylor(f,v,a) %返回f在v=a处做5阶Taylor展开的展开式
T=taylor(f,v,'Order',n) %返回f的n-1阶麦克劳林级数展开式
%即在v=0处做Taylor展开,f以符号标量v作为自变量
int函数
(用来求符号表达式的积分)
调用格式:R=int(S) %用默认变量求符号表达式S的不定积分值,默认变量可用函数findsym确定
R=int(S,v) %用符号标量v作为变量求符号表达式S的不定积分值
R=int(S,a,b) %符号表达式采用默认变量,该函数用来求默认变量从a变到b时的符号表达式
R=int(S,v,a,b) %求当v从a变到b时符号表达式S的定积分值,S采用符号标量v作为变量
%【9 21】求积分
syms x y;
int(sin(x),0,pi)
%【9 22】求二重积分
syms x y;
int(int(x^2+y^2,x,x^2),x,y)
9.3_符号矩阵的计算
Fourier变换及其反变换
fourier和ifourier函数的使用方法
Fw=fourier(ft,t,w) %求时域函数ft的Fourier变换Fw
ft=ifourier(Fw,w,t) %求频域函数Fw的Fourier反变换
(其中,ft是以t为自变量的时域函数,Fw是以圆周率w为自变量的频域函数)
Laplace变换及其反变换
Fs=laplace(ft,t,s) %求时域函数ft的Laplaec变换Fs
ft=ilaplace(Fs,s,t) %求频域函数Fs的Laplace反变换ft
(其中,ft是以t为自变量的时域函数,Fs是以复频率s为自变量的频域函数)
%【9 24】求Laplace变换及其反变换
syms t s;
syms a b positive; %posive正数 复数(unreal )实数(real)
Mt=[dirac(t-a),heaviside(t-b);exp(-t)*sin(b*t),cos(t)];
%dirac和heaviside分别为单位脉冲函数和单位阶跃函数
MS=laplace(Mt,t,s)%拉普拉斯变换
ft=ilaplace(MS,s,t)%反变换