《 数学实验 》 4
DESCRIPTION
《 数学实验 》 4. 符号变量与符号表达式 微积分基本运算 级数求和与泰勒展开式 常微分方程符号解. . 符号变量的定义. syms 符号变量 1 符号变量 2 … 例 1. 将 函数 f= y e – x 和 y = sin (x) 进行复合 , 并指定 t 为新的自变量 . syms x y t; f=y*exp(-x); g=sin(x); compose(f,g,y,x,t) ans=sin(t)*exp(-t). 例 2. 转换数值变量为符号变量 - PowerPoint PPT PresentationTRANSCRIPT
《 数学实验》 4
符号变量与符号表达式
微积分基本运算
级数求和与泰勒展开式
常微分方程符号解
syms 符号变量 1 符号变量 2 …
例 1. 将函数 f= ye – x 和 y =sin (x) 进行复合 , 并指定 t 为新的自变量 .syms x y t; f=y*exp(-x);g=sin(x); compose(f,g,y,x,t)ans=sin(t)*exp(-t)
符号变量的定义
例 2. 转换数值变量为符号变量
A=[1/3,1/4;1/5,1/7]
B=sym(A)
B = [ 1/3, 1/4]
[ 1/5, 1/7]2/22
符号表达式的创建①f=sym(' 表达式 ' ) 例如: f=sym('a*x^2+b*x+c')②syms 符号变量 1 符号变量 2 … f= 表达式例 3 :求 f=1/sin(x) 的反函数 .f=sym(‘1/sin(x)’); finverse(f)ans= asin(1/x)
例 4. 符号多项式运算syms x
f=2*x^2+3*x-5;g=x^2+x-7;
h1 = f+g,h2 = expand(f*g )
factor(h2)
h1=3*x^2+4*x-12
h2 = 2*x^4+5*x^3- 16*x^2-26*x+35
ans =(x-1)*(2*x+5)* (x^2+x-7) 3/22
A1=subs(A, ‘old’, ‘new’) 修改表达式
用‘ new’ 置换符号表达式 A 中的’ old’ 得到新的符号表达式 A1 。例 5. 求符号多项式的值syms a x
f=a*x^2+3*x+4 ;f1=subs(f,a,2)
subs(f1,x,5)
符号表达式中变量替换
f1 = 2*x^2+3*x+4ans = 69
4/22
调用格式: double(A) numeric(A)
例 6. A=sym([1/3,2/5;10/7,2/5])
numeric(A)
A =
[ 1/3, 2/5]
[ 10/7, 2/5]ans = 0.3333 2.5000 1.4286 0.4000
将符号矩阵转化为数值矩阵
5/22
复杂表达式的化简
syms x y z a b cf=(x+y)*(a+b^c)^z/(x+a)^2pretty(f)
2)(
))((
ax
bayx zc
常用化简命令 :
1.降幂排列 :collect(P,x); 2. 展开 :expand(P);
3. 重叠 : horner(P); 4. 因式分解 : factor(P);
5. 化简 : simplify(P)
6/22
微积分基本运算
limit(f,x,a) — 求 f 表达式在 x->a 时的极限
limit(f,x,a,’right(left)’) — 求单侧极限diff(f) — 对缺省变量求微分diff(f,v) — 对指定变量 v 求微分 , 适用对多元
函数求偏导数diff(f,v,n) — 对指定变量 v 求 n 阶微分
7/22
int(f) — 对 f 表达式的缺省变量求积分int(f,v) — 对 f 表达式的 v 变量求积分int(f,v,a,b) — 对 f 表达式的 v 变量在( a,b) 区间求
定积分quad(f,v,a,b) — 对 f 表达式的 v 变量在( a,b)
区间
求数值积分8/22
例 7. 求极限4
2lim
22
x
xx
syms x; limit((x-2)/(x^2-4),2)ans=1/4
例 8. 验证 对 k=1,2,3,4 成立)2
sin(sin )( kxxk
[diff(sin(x),1),sin(x+pi/2)]
ans =[ cos(x), cos(x)]
[diff(sin(x),2),sin(x+pi)]
ans =[ -sin(x), -sin(x)]
[diff(sin(x),3),sin(x+3*pi/2)]
ans = [ -cos(x), -cos(x)]
[diff(sin(x),4),sin(x+2*pi)]
ans =[ sin(x), sin(x)]9/22
例 9. 计算 f = 1/(5+4cos(x)) 关于 x 的导数syms xf=1/(5+4*cos(x))ezplot(f)f1=diff(f,x,1)ezplot(f1)int(f1)
10/22
-6 -4 -2 0 2 4 6
0.2
0.4
0.6
0.8
1
x
1/(5+4 cos(x))
-6 -4 -2 0 2 4 6-1
-0.5
0
0.5
1
x
4/(5+4 cos(x))2 sin(x)
ans =
1/(5+4*cos(x))
例 10. 计算不定积分 dxbxeax )sin(
syms xint('exp(a*x)*sin(b*x)')g=simplify(ans) g = exp(a*x)*(-b*cos(b*x)+a*sin(b*x))/(a^2+b^2)diff(g)f=simplify(ans) f = exp(a*x)*sin(b*x)
)]cos()sin([1
)sin( 22 bxbbxaeba
dxbxe axax
11/22
例 11. 绘函数 (a = 1, b = 3 ) 在
[0,3.2] 上的图形 . 并计算
bxexf ax sin)(
syms a b xf=exp(a*x)*sin(b*x)f1=subs(f,a,1),f1=subs(f1,b,3)ezplot(f1,0,3.22)F1=simplify(int(f1,1,2))double( F1 )ans = -3.1806
0 0.5 1 1.5 2 2.5 3
-5
0
5
10
15
x
exp(x) sin(3 x)
2
13sin xdxe x
12/22
f=inline('exp(x).*sin(3*x)')
quad(f,1,2)
ans = -3.1806
计算定积分 : 2
13sin xdxe x
13/22
例 12.
例 13. 求函数
syms x
n=3*x^2+6*x-1 ;
d=x^2+x-3;f=n/d;limit(f,inf)ans=3roots=solve(d)roots=[-1/2+1/2*13^(1/2)] [-1/2-1/2*13^(1/2)] 14/22
3
163)(
2
2
xx
xxxf 的渐近线、
极值、拐点,并作图 .
ezplot(f)
hold on
plot([-2*pi 2*pi],[3 3],’g’)
plot(double(roots(1))*[1 1],[-5 10],’r’)
plot(double(roots(2))*[1 1],[-5 10],’r’)
title(‘ 水平渐近线和垂直渐近线’ )
hold off
15/22
f1=diff(f);
c=solve(f1)
ans= [-8/3-1/3*13^(1/2)]
[-8/3+1/3*13^(1/2)]
ezplot(f)
hold on
plot(double(c),double(subs(f,c)),’ro’)
title(‘ 函数的极大值和极小值’ )
text(-5.5,3.2,’ 局部极小值’ )
text(-2.5,2,’ 局部极大值’ )
hold off 16/22
f2=diff(f1); q=solve(f2);
double(q)
ans=-5.2635
-1.3682-0.8511i
-1.3682+0.8511i
q=q(1);
ezplot(f,[-9 6])
hold on
plot(double(q),double(subs(f,q)),’ro’)
title(‘ 函数的拐点’ )
text(-7,2,’ 拐点’ ) hold off 17/22
级数求和运算S=symsum(f , n , a , b)
syms k nS=symsum(k,k,1,n) ; S1=simple(S)S1 =1/2*n*(n+1)S=symsum(k^2,k,1,n);S2=simple(S)S2 =1/6*n*(n+1)*(2*n+1)
nkSn
k
211
1例 14. 计算级数
18/22
22
1
22 21 nkS
n
k
taylor(f,n,x) — 将函数 f 在原点展开为自变量 x的
n-1 次麦克劳林多项式 .
taylor(f,n,x,a) — 将函数 f 在 a 点展开为自变量 x
的 n-1 次泰勒多项式 . 其结果为 :
泰勒级数展开
19/22
1
0
)(
)(!
)()(
n
k
kk
axk
afxf
20/22
例 15. 将函数
)cos(45
1)(
xxf
展开为 7 次麦克劳林多
项式 .
syms x
f=1/(5+4*cos(x))
T=taylor(f,8)
ans=
1/9+2/81*x^2+5/1458*x^4+49/131220*x^6
命令格式: dsolve(‘eq1’,···,’con1’,···,’x’)y 的一阶导数—— Dy, y 的二阶导数—— D2y
微分方程符号解
21/22
y = dsolve('Dy=1/(1+x^2)-2*y^2','y(0) = 0','x')y = 2*x/(2*x^2+2)
22 2
1
1y
xy
符号解:
y(x)= x / (1 + x 2)
syms P t
P=dsolve('DP=0.02*P*(1-P/500)','P(0)=76')
P = 500/(1+106/19*exp(-1/50*t))
ezplot(P,0,200),pretty(P) 500 --------------------- 106 1 + --- exp(- 1/50 t) 19
例 16 P’ =0.02P ( 1 – P/500 )
初始条件 : P(0)=76
0 50 100 150 200
100
200
300
400
t
500/(1+106/19 exp(-1/50 t))
22/22