(完整版)Matlab学习系列15.数值计算—高数篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15. 数值计算—高数篇
一、求极限
limit(f,x,a)——求极限 lim ()x a
f x →
limit(f,x,a,'right')——求右极限 lim ()x a
f x +→
limit(f,x,a,'left')——求左极限 lim ()x a
f x -→
例1 求 2352
lim sin 53x x x x
→∞++
代码:
syms x;
y=(3*x^2+5)/(5*x+3)*sin(2/x); limit(y,x,inf)
运行结果:ans = 6/5
注:Matlab 求二元函数的极限,是用嵌套limit 函数实现的,相当于求的是累次极限,需要注意:有时候累次极限并不等于极限。
例2 求 30
lim 2x x x
x a b +→⎛⎫
+ ⎪⎝⎭
代码:
syms x a b;
y=((a^x+b^x)/2)^(3/x); limit(y,x,0,'right')
运行结果:ans = a^(3/2)*b^(3/2)
二、求导
diff(f,x,n)——求函数f 关于x 的n 阶导数,默认n=1
例3 求1sin 1cos x
y x
+=
+的1阶导数,并绘图
代码:
syms x a b;
y=((a^x+b^x)/2)^(3/x); limit(y,x,0,'right')
运行结果:
y1 = cos(x)/(cos(x) + 1) + (sin(x)*(sin(x) + 1))/(cos(x) + 1)^2
例4 设sin xy
z e
=,求2,,z z z x y x y
∂∂∂∂∂∂∂
代码:
syms x y;
z=exp(sin(x*y)); zx=diff(z,x) zy=diff(z,y)
zxy=diff(zx,y) % 也等于diff(zy,x)
-5
5
5
10
15
20
25
x
(sin(x) + 1)/(cos(x) + 1)
-5
05
-20
-15
-10-5
05
10
1520
25x
cos(x)/(cos(x) + 1) + (sin(x) (sin(x) + 1))/(cos(x) + 1)
2
运行结果:
zx = y*exp(sin(x*y))*cos(x*y)
zy = x*exp(sin(x*y))*cos(x*y)
zxy = x*y*exp(sin(x*y))*cos(x*y)^2 + exp(sin(x*y))*cos(x*y)–x*y*exp(sin(x*y))*sin(x*y)
三、求极值
1. 一元函数极值
[x0,min]=fminbnd(f, a, b)
——返回函数f(x)在区间(a,b)上的极小值点和极小值例5求函数32
=--+在区间(-2,4)上的极值
()26187
f x x x x
代码:
f=@(x) 2*x^3-6*x^2-18*x+7;
g=@(x) -2*x^3+6*x^2+18*x-7;
[x0,min]=fminbnd(f,-2,4)
[x1,max]=fminbnd(g,-2,4)
fplot(f,[-2,4]);
运行结果:x0 = 3.0000 min = -47.0000
x1 = -1.0000 max = -17.0000
2. 多元函数极值
[X1,f1]=fminunc(f,X0)——处理连续情形
[X1,f1]=fminsearch(f,X0)——可以处理不连续情形
二者用法相同,返回极小值点和极小值,其中X 为初始点。 例6 求222(,)(1)100()f x y x y x =-+-的极小值
代码:
f=@(x) (1-x(1))^2+100*(x(2)-x(1)^2)^2; x0=[-5 -2];
[x1,f1]=fminsearch(f,x0)
运行结果:x1 = 1.0000 1.0000
f1 = 2.7969e -010
四、求不定积分与定积分
1. 符号积分
int(f,x)——求f(x)关于x 的不定积分
010
20
int(f,x,a,b)——求f(x)关于x 的从a 到b 的定积分 例7 求积分2ln d x a
x x -⎰和21ln d x a x x
+∞-⎰ 代码:
syms x a;
int((log(x)-a)/x^2,x)
int((log(x)-a)/x^2,x,1,inf)
运行结果:ans = -(log(x) - a + 1)/x ans = 1 – a
注:不定积分的结果是忽略任意常数C 的。
2. 二重积分
可以化为累次积分,再用两次int 函数实现。 例8 求二重积分
221
(1)d d x y x y x y +≤++⎰⎰
, 先化为累次积分:
原式
=1
1
d )d x x y y -++⎰
代码:
syms x y;
int(int(1+x+y,y,-sqrt(1-x^2),sqrt(1-x^2)),x,-1,1)
运行结果:ans = pi
3. 数值积分
quad(f, a, b)——辛普森法定积分,默认误差为10-6,低精度的非光滑曲线计算中是最有效;
quadl(f, a, b)——Lobatto 法定积分,在高精度的光滑曲线计算中更为高效;