微积分线性代数知识在matlab中的实现
- 格式:doc
- 大小:266.00 KB
- 文档页数:12
第一章 微积分、线性代数的基础知识及其在Matlab 中的实现
1.1 建模中常用微积分基础知识在Matlab 中的实现
在数摸问题的计算中,经常要用到极限、导数、微分和积分等基本运算。利用数学软件Matlab 可以使复杂的微积分运算变得很容易。本节介绍微积分的基本运算在计算机上如何实现,包括:微分、积分、极限、级数求和、方程求根以及Taylor 展开等功能的实现方法。
下面是MA TLAB 中的基本符号运算函数(有关符号运算请参考附录A ): 1. x=sym(‘x ’)
功能:创建一个符号变量x 2. syms x y z
功能:创建多个符号变量 x , y , z 3. r=collect(S,v)
功能:合并同类项,S 是符号表达式,v 是变量或表达式,R 是合并同类项后的结果。 4. factor(S)
功能:符号计算的因式分解,X 是待分解的符号多项式 5. expand(S)
功能:对符号多项式或函数S 进行展开 6. r=simple(S) 或 r=simplify(S) 功能:对符号表达式S 进行化简 7. subs(S,old,new)
功能:把符号变量中的变量old 用 new 代替,new 可以是一个符号,也可以是具体的数 8. vpa(S)
功能:对符号表达式S 计算其任意精度的数值 9. eval(S)
功能:计算符号表达式(或字符串)S
1.1.1 导数、极值和积分、Talyor 公式及在Matlab 中的实现
一、极限运算
在MA TLAB 中,计算极限采用下面的命令:
命令 功能 limit(f,x,a) 计算)(lim
x f a
x →
limit(f,x,inf) 计算)(lim
x f x ∞
→
limit(f,x,a,’right ’) 计算单侧极限)(lim x f a x +
→
limit(f,x,a,’left ’) 计算单侧极限
)(lim x f a x -
→
注意:在左右极限不相等或左右极限有一个不存在时,Matlab 的默认状态是求右极限
例1 求极限x
x x 1
0)41(lim +→与极限x
e x x 1lim 0-→
解 Matlab 命令为 syms x;
y1=(1+4*x)^(1/x); y2=(exp(x)-1)/x; limit(y1,x,0) ans= exp(4) limit(y2,x,0) ans= 1
例2 求极限)2(lim 1
x
x x -
→-+
解 syms x; y=sqrt(x)-2^(-1/x); limit(y,x,0,’right ’) ans= 0
二、求导运算
导数是函数增量y ∆与自变量增量x ∆之比的极限(0→x ∆),即x
x f x x f x f ∆∆)
()()(-+=
'。
在Matlab 中求函数的导数及其他一些类似计算均由 diff 命令来完成。
1.一元函数的求导 命令形式1: diff(f)
功能:求函数f 的一阶导数,其中f 为符号函数。 命令形式2: diff(f,n)
功能:求函数f 的n 阶导数,其中f 为符号函数。 例3 求函数
1533++x x 的二阶导数
解 Matlab 的命令为 syms x ; f= 3*x^3+5*x+1 ; diff(f,2) ; ans= 18*x 例4 设
1232+-=x x y ,求1'|=x y
解 syms x ; y=3*x^2-2*x+1 ; B=diff(y) , x=1 ; eval(B) 运行结果为 B = 6*x – 2 ans = 4
2.多元函数的偏导数 将函数),(y x f z =中的变量y 看成常量而对变量x 的导数称为二元函数),(y x f 对变量x 的偏导
数,记为
),(y x f x 。若把x 当作常量而对y 求导的结果称为函数对y 的偏导数,记为),(y x f y 。求偏
导的方法和一元函数的求导方法一样,只要把另一个变量看成常量即可。
命令形式1: diff(f,i x )
功能: 多函数f 对变量i x 的一阶偏导。 命令形式2: diff(f,i x ,n)
功能:多函数f 对变量i x 的n 阶偏导。 例5 求y x z
2sin 2=关于x 的偏导数
解 syms x y;
z= x^2*sin (2*y); B=diff(z,’x ’); 运行结果为 B=2*x*sin(2*y)
3. 全微分、参数方程求导及隐函数求导 (1) 若函数),(y x f z
=在某点),(00y x 的两个偏导数存在且连续,则函数在该点的全微分为
dy y x f dx y x f dz y x ),(),(0000+=
Matlab 中求函数全微分的命令为: diff(z,x)+diff(z,y) (2) 对参数方程⎩
⎨
⎧==)()(t y y t x x 所确定的函数)(x f y =,根据公式dt dx dt
dy dx dy =
,连续两次利用diff(f)命令就可以求出结果。
(3) 隐函数求导
方程0),(=y x F 所确定的隐函数
)(x y y =,则其导数
y
x F F dx dy
-=;方程0),,(=z y x F 确定的
隐函数),(y x z z =,其导数为z
x
F F x z
-=∂∂,z
y F F y z
-=∂∂。在Matlab 中按照上述公式,分别求出函数
的偏导再相除就可得到隐函数的导数。
三、积分运算
1.一元函数的不定积分 命令形式1: int(f)
功能: 求函数f 对默认变量的不定积分,用于函数中只有一个变量的情况。 命令形式2:int(f,v)
功能:求符号函数f 对变量v 的不定积分。 例6 计算
⎰dx x x 22cos sin 1
解 Matlab 命令为 syms x ;
y=1/(sin(x)^2*cos(x)^2) ; int(y) ans =
)sin(/)cos(*2))cos(*)/(sin(1x x x x -