一、符号表达式的极限
>> syms x
>> f1=sym('(cos(x)+sin(x)-x)/x');
>> limit(f1,x,inf)
ans =
-1
>> limit(f1,x,-inf)
ans =
-1
>> limit(f1,x,0)
ans =
NaN
>> f2=sym('(sin(x)-x)/x')
f2 =
-(x - sin(x))/x
>> limit(f2,x,0,'right')
ans =
0
>> limit(f2,x,0,'left')
ans =
0
二、符号表达式的微分
功能函数diff可以完成一元或多元函数任意阶数的微分。
对于自变量的个数多于一个的符号矩阵,微分为Jocabian矩阵,采用功能函数Jacobian实现。
1、diff函数
2、jacobian函数
(第一个参数必须是列向量,第二个参数必须是行向量)
>> syms x y z;
>> f1=sym('exp(x*sin(y))+log(z)');
>> diff(f1,x)
ans =
exp(x*sin(y))*sin(y)
>> diff(f1,y)
ans =
x*exp(x*sin(y))*cos(y)
>> diff(f1,z)
ans =
1/z
>> diff(f1,x,2)
ans =
exp(x*sin(y))*sin(y)^2
>> f2=sym('[x^2+y^2;y*z]')
f2 =
x^2 + y^2
y*z
>> J=jacobian(f2,[x,y])
J =
[ 2*x, 2*y]
[ 0, z]
三、符号表达式的积分
>> syms x y
>> f1=sym('x+x^-1');
>> int(f1)
ans =
log(x) + x^2/2
>> f2=sym('x*y+(x*y)^-1')
f2 =
1/(x*y) + x*y
>> int(f2,y)
ans =
log(y)/x + (x*y^2)/2
>> int(f1,1,2)
ans =
log(2) + 3/2
>> int(f2,y,1,2)
ans =
(3*x)/2 + log(2)/x
四、符号表达式的级数求和
>> syms x y n
>> f1=sym('x^2')
f1 =
x^2
>> symsum(f1,0,n-1)
ans =
(n*(2*n - 1)*(n - 1))/6
>> f2=sym('x^n')
f2 =
x^n
>> symsum(f2,n,0,inf)
ans =
piecewise([1 <= x, Inf], [abs(x) < 1, -1/(x - 1)])
五、符号表达式的泰勒级数
>> syms x y
>> f1=sym('sin(x)/(2+sin(x))')
f1 =
sin(x)/(sin(x) + 2)
>> taylor(f1)
ans =
- (13*x^5)/480 + x^4/48 + x^3/24 - x^2/4 + x/2
六、符号微分方程求解
函数dsolve用来求常微分方程的符号解。
在方程中用D表示一次微分,用D2、D3分别表示二次、三次微分运算。
D2y表示
七、符号代数方程求解:solve
>> syms x
>> f=sym('a*x^2+b*x+c');
>> solve(f)
ans =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
>> syms a x;
>> f=sym('a*x^2+b*x+c');
>> solve(f,a)
ans =
-(c + b*x)/x^2
>> syms x y
>> f=sym('x^2+y^2=25');
>> f2=sym('x*y=12');
>> [x,y]=solve(f,f2)
x =
4
3
-3
-4
y =
3
4
-4
-3