一、符号微积分
1.符号表达式的极限(limit)
- limit(F, x, a):求当x->a 时,符号表达式F的极限
- limit(F, a):求函数F的默认自变量在趋于a时的极限值。F的默认自变量可由findsym求得
- limit(F):求函数F的默认自变量在趋于0时的极限值
- limit(F, x, a, ‘right’)或limit(F, x, a, ‘left’):求左右极限
1 2 3 4 5 6 7 |
>> syms x; >> f = (cos(x) + sin(x) - x) / x; >> limit(f,x,inf) ans = -1 |
2.符号表达式的微分(diff、jacobian)
- diff(S, ‘v’):对函数S求变量v的微分
- diff(S, n):求函数S的n阶微分。S的默认自变量可由findsym求得
- diff(S, ‘v’, n):对函数S求变量v的n阶微分。使用时应注意参数的调用顺序
- jacobian(w, v):其中w是一个符号列向量,v是指定进行变换的变量所组成的行向量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
>> syms x y z; >> f1 = exp(x*sin(y)) + log(z); >> diff(f1, x) ans = exp(x*sin(y))*sin(y) >> diff(f1, y, 2) ans = x^2*exp(x*sin(y))*cos(y)^2 - x*exp(x*sin(y))*sin(y) >> J = jacobian(f1, [x, y]) J = [ exp(x*sin(y))*sin(y), x*exp(x*sin(y))*cos(y)] |
3.符号表达式的积分(int)
- R = int(S):求S的默认变量的不定积分
- R = int(S, v):求S的以符号标量v为变量的不定积分
- R = int(S, a, b):求S的默认变量的从a到b时的定积分
- R = int(S, v, a, b)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
>> syms x y; >> f = x + x^-1; >> int(f) ans = log(x) + x^2/2 >> int(f, -1, 1) ans = NaN >> int(f, 0, 1) ans = Inf >> int(f, 1, 2) ans = log(2) + 3/2 |
4.符号表达式的级数求和(symsum)
- r = symsum(s, a, b):求s中对默认变量从a到b时的有限和
- r = symsum(s, v, a, b)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
>> syms x n; >> f = x^n; >> symsum(f,n,0,inf) ans = piecewise([1 <= x, Inf], [abs(x) < 1, -1/(x - 1)]) >> symsum(f,x,0,5) ans = 0^n + 2^n + 3^n + 4^n + 5^n + 1 |
5.符号表达式的泰勒级数(taylor)
- r = taylor(f):返回f以默认变量为0处的5阶泰勒展开
- r = taylor(f, n, v):返回f以符号标量v为自变量,在v = 0处的n-1阶麦克劳林级数展开式
- r = taylor(f, n, v, a):返回f以符号标量v为自变量,在v = a处的n-1阶泰勒展开式
1 2 3 4 5 6 7 |
>> syms x; >> f = sin(x); >> taylor(f) ans = x^5/120 - x^3/6 + x |
二、符号积分变换
1.傅里叶变换及其反变换(fourier、ifourier)
- Fw = fourier(ft, t, w):求时域函数ft的Fourier变换Fw。ft是以t为自变量的时域函数,Fw是以圆频率w为自变量的频域函数
- ft = ifourier(Fw, w, t):求频域函数Fw的Fourier反变换ft
2.拉普拉斯变换及其反变换(laspace、ilaspace)
- Fs = laspace(ft, t, s)
- ft = ilaspace(Fs, s,t)
3.Z变换及其逆变换
数学中常用的Z反变换计算方法有3种:幂级数展开法、部分分式展开法、围线积分法。
MATLAB中符号数学工具箱中采用的是围线积分法,即
fn = (1/2πj)*∫(F(z)*z^(n-1))dz
- FZ = ztrans(fn):求时域函数fn的z变换FZ。默认fn自变量为n,生成的Z变换是以复频率z为变量的函数
- FZ = ztrans(fn, w):求时域函数fn的z变换FZ。默认fn自变量为n,生成的Z变换是以变量w代替复频率z为变量的函数
- FZ = ztrans(fn, n, z):求时域函数fn的z变换FZ。fn是以n为自变量的时域序列,FZ是以复频率z为自变量的频域函数
- fn = iztrans(FZ, z, n):求频域函数FZ的z反变换fn
三、符号代数方程求解
此处所讲的一般代数方程包括线性、非线性和超越方程,求解函数为solve
当方程组不存在符号解,又无其他自由参数时,solve将给出数值解
- g = solve(eq):求解方程 eq = 0 。eq的默认自变量可由findsym求得。eq可以是符号表达式或不带符号的字符串
- g = solve(eq, var):求以var为自变量的方程 eq = 0 的解。返回值g是由方程的所有解构成的列向量
- g = solve(eq1, eq2. … , eqn)
- g = solve(eq1, eq2. … , eqn, var1, var2, … , varn)
1 2 3 4 5 6 7 8 |
>> syms a b c x; >> f = a*x^2 + b*x +c; >> solve(f,x) ans = -(b + (b^2 - 4*a*c)^(1/2))/(2*a) -(b - (b^2 - 4*a*c)^(1/2))/(2*a) |
四、符号分析可视化
1.图示化符号函数计算器界面(funtool)
2.泰勒级数逼近分析界面(taylortool)
转载请注明:燕骏博客 » MATLAB自学笔记(二十一):符号微积分、积分变换、代数方程以及可视化
赞赏作者微信赞赏支付宝赞赏