1.符号极限
limit(F,x,a) 对表达式F,x -> a时的极限
limit(F,a)对上面函数的简化,对表达式F,默认自变量 -> a时的极限,这里的默认自变量可以通过findsym(F,1)查找出来,一般是离x字母最近的自变量。
例如:
clear
clc
syms a b x y;
f=a+2*b+3*x+4*y;
limit(f,2)
findsym(f,1)
结果
ans =
a + 2*b + 4*y + 6
ans =
x
limit(F) 对上面函数的进一步简化,对表达式F,默认自变量 -> 0时的极限.
limit(F,x,a,'right') or limit(F,x,a,'left') 对表达式F,x -> a时的右极限和左极限
下面是help limit中的例子,inf的意思是无穷大,exp()函数表示e的多少次方
Examples:
syms x a t h;
limit(sin(x)/x) returns 1
limit((x-2)/(x^2-4),2) returns 1/4
limit((1+2*t/x)^(3*x),x,inf) returns exp(6*t)
limit(1/x,x,0,'right') returns inf
limit(1/x,x,0,'left') returns -inf
limit((sin(x+h)-sin(x))/h,h,0) returns cos(x)
v = [(1 + a/x)^x, exp(-x)];
limit(v,x,inf,'left') returns [exp(a), 0]
例:当n→∞时(1+1/n)^n的极限为e
clear
clc
syms n;
limit((1+1/n)^n,n,inf)
结果
ans =
exp(1)
注意:limit函数仅仅用于求函数极限,不能直接用于数列极限,和式极限
diff微分和差商
diff微分和差分
微分运算;help sym/diff,差分运算help diff
注意diff没有使用工具箱是差分运算,使用符号工具箱时是微分运算
符号函数部分
diff(S) S为符号函数时,计算S的导数,默认自变量可以通过findsym(S,1)来查找
diff(S,'v') or diff(S,sym('v')) S为符号函数时,计算S的导数,自变量为v
diff(S,n) S为符号函数时,计算S的n阶导数,使用默认自变量
diff(S,'v',n) S为符号函数时,计算S的n阶导数,自变量为v
例
clear
clc
syms x;
f=log(x)+sin(x)+x^2
diff(f)
结果
f =
log(x) + sin(x) + x^2
ans =
2*x + cos(x) + 1/x
例
clear
clc
syms x y;
f=x^6+y^5
diff(f,y,3)
结果
f =
x^6 + y^5
ans =
60*y^2
一般函数部分
diff(X) X为向量时(行列均可),计算相邻两数的差[X(2)-X(1) X(3)-X(2) ... X(n)-X(n-1)]
diff(X) X为矩阵时,计算矩阵的2~n行与1~n-1行的差,[X(2:n,:) - X(1:n-1,:)]
diff(X,N) 对上面函数diff(X)的扩充,这里的N指定N阶差分,二阶差分是对一阶差分的结果再做差分运算
DIFF(X,N,DIM) 对上面函数diff(X,N)的扩充,DIM取1或2,取1时按行差分,与上面结果一样,取2时按列差分
例
clear
clc
x=1:10
diff(x)
结果
x =
1 2 3 4 5 6 7 8 9 10
ans =
1 1 1 1 1 1 1 1 1
例
clear
clc
x=magic(4)
diff(x)
结果
x =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
ans =
-11 9 7 -5
4 -4 -4 4
-5 7 9 -11
例
clear
clc
x=magic(3)
diff(x,1)
结果
x =
8 1 6
3 5 7
4 9 2
ans =
-5 4 1
1 4 -5
例
clear
clc
x=magic(3)
diff(x,1,1)
结果
x =
8 1 6
3 5 7
4 9 2
ans =
-5 4 1
1 4 -5
例:二阶差分
clear
clc
x=magic(3)
diff(x,2,1)
结果
x =
8 1 6
3 5 7
4 9 2
ans =
6 0 -6
例:按列差分
clear
clc
x=magic(3)
diff(x,1,2)
结果
x =
8 1 6
3 5 7
4 9 2
ans =
-7 5
2 2
5 -7
例:通过差分求近似导数△y/△x
clear
clc
dx=0.01*2*pi;
x=0:dx:2*pi;
y=sin(x);
f=diff(y)/dx
结果
f =
Columns 1 through 18
0.9993 0.9954 0.9875 0.9758 0.9601 0.9407 0.9176 0.8909 0.8606 0.8269 0.7900 0.7500 0.7070 0.6612 0.6128 0.5620 0.5090 0.4539
Columns 19 through 36
0.3971 0.3387 0.2789 0.2181 0.1564 0.0941 0.0314 -0.0314 -0.0941 -0.1564 -0.2181 -0.2789 -0.3387 -0.3971 -0.4539 -0.5090 -0.5620 -0.6128
Columns 37 through 54
-0.6612 -0.7070 -0.7500 -0.7900 -0.8269 -0.8606 -0.8909 -0.9176 -0.9407 -0.9601 -0.9758 -0.9875 -0.9954 -0.9993 -0.9993 -0.9954 -0.9875 -0.9758
Columns 55 through 72
-0.9601 -0.9407 -0.9176 -0.8909 -0.8606 -0.8269 -0.7900 -0.7500 -0.7070 -0.6612 -0.6128 -0.5620 -0.5090 -0.4539 -0.3971 -0.3387 -0.2789 -0.2181
Columns 73 through 90
-0.1564 -0.0941 -0.0314 0.0314 0.0941 0.1564 0.2181 0.2789 0.3387 0.3971 0.4539 0.5090 0.5620 0.6128 0.6612 0.7070 0.7500 0.7900
Columns 91 through 100
0.8269 0.8606 0.8909 0.9176 0.9407 0.9601 0.9758 0.9875 0.9954 0.9993
int符号积分
help sym/int
int(S) S为符号函数,对默认自变量求不定积分,默认自变量可通过findsym(S,1)查找
int(S,v) S为符号函数,对自变量v求不定积分
int(S,a,b) S为符号函数,对默认自变量求定积分,积分区域为a -> b
int(S,v,a,b) S为符号函数,对自变量v求定积分,积分区域为a -> b
help sym/int文档例子
Examples:
syms x x1 alpha u t;
A = [cos(x*t),sin(x*t);-sin(x*t),cos(x*t)];
int(1/(1+x^2)) returns atan(x)
int(sin(alpha*u),alpha) returns -cos(alpha*u)/u
int(besselj(1,x),x) returns -besselj(0,x)
int(x1*log(1+x1),0,1) returns 1/4
int(4*x*t,x,2,sin(t)) returns -2*t*cos(t)^2 - 6*t
int([exp(t),exp(alpha*t)]) returns [ exp(t), exp(alpha*t)/alpha]
int(A,t) returns [sin(t*x)/x, -cos(t*x)/x]
[cos(t*x)/x, sin(t*x)/x]
例:对ln(x)求不定积分
clear
clc
syms x;
f=log(x);
int(f)
结果
ans =
x*(log(x) - 1)
例:对sin(x),求0~π的定积分
clear
clc
syms x;
f=sin(x);
int(f,0,pi)
结果
ans =
2
积分变换
傅里叶变换,拉普拉斯变换,Z变换
fouier(f,u,v) 傅里叶变换,f为f(u)的符号表达式,u为自变量,v为像函数的自变量。结果为像函数F(v)
ifourier(F,v,u) 傅里叶逆变换,F为F(v)的符号表达式,v为自变量,u为原函数的自变量。结果为原函数f(u)
laplace(F,w,z) 拉普拉斯变换
ilaplace(L,y,x) 拉普拉斯逆变换
ztrans(f,k,w) Z变换
iztrans(F,w,k) 逆Z变换
例:求e^(-x^2)的傅里叶变换
clear
clc
syms x t;
f=exp(-x^2)
F=fourier(f,x,t)
结果
f =
1/exp(x^2)
F =
pi^(1/2)/exp(t^2/4)
olve求解代数方程
solve('eqn1','eqn2',...,'eqnN') 指定一个或多个符号表达式求零解
solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN') 指定一个或多个符号表达式求零解,var为自变量
solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN') 指定一个或多个符号表达式求零解,var为自变量
例
clear
clc
syms x;
f=cos(x);
solve(f)
结果
ans =
pi/2
例
clear
clc
syms x y;
f1=x+y;
f2=x^3-y^2;
[x,y]=solve(f1,f2)
结果
x =
0
1
y =
0
-1
dsolve求解微分方程
dsolve('eqn1','eqn2', ... ,边界条件,自变量)
D表示求导, D2表示二阶导即d^2/dt^2,D3y表示对y求三阶导
help dsolve文档的例子
Examples:
dsolve('Dx = -a*x') returns
ans = C1/exp(a*t)
x = dsolve('Dx = -a*x','x(0) = 1','s') returns
x = 1/exp(a*s)
S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')
returns a structure S with fields
S.f = (i + 1/2)/exp(t*(i - 1)) - exp(t*(i + 1))*(i - 1/2)
S.g = exp(t*(i + 1))*(i/2 + 1) - (i/2 - 1)/exp(t*(i - 1))
dsolve('Df = f + sin(t)', 'f(pi/2) = 0')
dsolve('D2y = -a^2*y', 'y(0) = 1, Dy(pi/a) = 0')
S = dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1')
S = dsolve('Du=v, Dv=w, Dw=-u','u(0)=0, v(0)=0, w(0)=1')
w = dsolve('D3w = -w','w(0)=1, Dw(0)=0, D2w(0)=0')
symsum级数求和
help sym/symsum
symsum(S) 级数求和上下限为a->b
文档例子
Examples:
symsum(k) k^2/2 - k/2
symsum(k,0,n-1) (n*(n - 1))/2
symsum(k,0,n) (n*(n + 1))/2
simple(symsum(k^2,0,n)) n^3/3 + n^2/2 + n/6
symsum(k^2,0,10) 385
symsum(k^2,11,10) 0
symsum(1/k^2) -psi(k, 1)
symsum(1/k^2,1,Inf) pi^2/6