微积分线性代数知识在matlab中的实现(DOC 12页)

上传人:桔**** 文档编号:488120053 上传时间:2023-03-03 格式:DOCX 页数:12 大小:61.87KB
返回 下载 相关 举报
微积分线性代数知识在matlab中的实现(DOC 12页)_第1页
第1页 / 共12页
微积分线性代数知识在matlab中的实现(DOC 12页)_第2页
第2页 / 共12页
微积分线性代数知识在matlab中的实现(DOC 12页)_第3页
第3页 / 共12页
微积分线性代数知识在matlab中的实现(DOC 12页)_第4页
第4页 / 共12页
微积分线性代数知识在matlab中的实现(DOC 12页)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《微积分线性代数知识在matlab中的实现(DOC 12页)》由会员分享,可在线阅读,更多相关《微积分线性代数知识在matlab中的实现(DOC 12页)(12页珍藏版)》请在金锄头文库上搜索。

1、第一章 微积分、线性代数的基础知识及其在Matlab中的实现11 建模中常用微积分基础知识在Matlab中的实现在数摸问题的计算中,经常要用到极限、导数、微分和积分等基本运算。利用数学软件Matlab可以使复杂的微积分运算变得很容易。本节介绍微积分的基本运算在计算机上如何实现,包括:微分、积分、极限、级数求和、方程求根以及Taylor展开等功能的实现方法。下面是MATLAB中的基本符号运算函数(有关符号运算请参考附录A):1. x=sym(x)功能:创建一个符号变量x2. syms x y z功能:创建多个符号变量 x , y , z3. r=collect(S,v)功能:合并同类项,S是符号

2、表达式,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)功能:计算符号表达式(或字符串)S111 导数、极值和积分、Talyor公式及在Matlab中的实现一、极限运算在MATLAB中

3、,计算极限采用下面的命令:命令 功能 limit(f,x,a) 计算 limit(f,x,inf) 计算 limit(f,x,a,right) 计算单侧极限 limit(f,x,a,left) 计算单侧极限 注意:在左右极限不相等或左右极限有一个不存在时,Matlab的默认状态是求右极限例1 求极限与极限解 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 求极限解 syms x; y=sqrt(x)-2(-1/x); limit(y,x,0,right)

4、 ans= 0二、求导运算导数是函数增量与自变量增量之比的极限(),即。在Matlab中求函数的导数及其他一些类似计算均由 diff 命令来完成。1一元函数的求导命令形式1: diff(f)功能:求函数f的一阶导数,其中f为符号函数。命令形式2: diff(f,n)功能:求函数f的n阶导数,其中f为符号函数。例3 求函数 的二阶导数解 Matlab的命令为syms x ; f= 3*x3+5*x+1 ;diff(f,2) ;ans= 18*x例4 设,求解 syms x ; y=3*x2-2*x+1 ;B=diff(y) , x=1 ; eval(B) 运行结果为B = 6*x 2ans =

5、42多元函数的偏导数将函数中的变量看成常量而对变量的导数称为二元函数对变量的偏导数,记为。若把当作常量而对求导的结果称为函数对的偏导数,记为。求偏导的方法和一元函数的求导方法一样,只要把另一个变量看成常量即可。命令形式1: diff(f,)功能: 多函数f 对变量的一阶偏导。命令形式2: diff(f,n)功能:多函数f 对变量的n阶偏导。例5 求关于的偏导数解 syms x y; z= x2*sin(2*y); B=diff(z,x);运行结果为 B=2*x*sin(2*y)3. 全微分、参数方程求导及隐函数求导(1) 若函数在某点的两个偏导数存在且连续,则函数在该点的全微分为Matlab中

6、求函数全微分的命令为: diff(z,x)+diff(z,y)(2) 对参数方程所确定的函数,根据公式,连续两次利用diff(f)命令就可以求出结果。(3) 隐函数求导方程所确定的隐函数,则其导数;方程确定的隐函数,其导数为,。在Matlab中按照上述公式,分别求出函数的偏导再相除就可得到隐函数的导数。三、积分运算1一元函数的不定积分命令形式1: int(f)功能: 求函数f对默认变量的不定积分,用于函数中只有一个变量的情况。命令形式2:int(f,v)功能:求符号函数f对变量v的不定积分。例6 计算解 Matlab命令为syms x ;y=1/(sin(x)2*cos(x)2) ;int(y

7、)ans = pretty(int(y) %把int(y)化简为常用的数学形式的表达式结果为 例7 求解 Matlab的命令为 syms x z ; B=int(x/(1+z2),z) ; B=x*atan(z)2一元函数的定积分命令形式: int(f,x,a,b)功能:用微积分基本公式计算定积分例8 求解 Matlab的命令为syms x ;t=1+x-1/x; y=exp(x+1/x) ;t=t*y ;int(f,x,1/2,2) ;ans = 3/2*exp(5/2)3. 多重积分运算命令 功能int(int(f,y),x) 计算不定积分int(int(f,y,c,d),x,a,b) 计

8、算定积分注意:对于三重积分的运算和二重积分的形式一致。例9 计算 解 Matlab的命令为 syms x y A=int(int(x2+y2+1,y,x,x+1),x,0,1) %求二重积分 A=5/2四、函数的Taylor展开命令形式1:taylor(f)功能:将函数f展开成默认变量的6阶麦克劳林公式命令形式2: taylor(f, n)功能:将函数f展开成默认变量的n阶麦克劳林公式命令形式3: taylor(f, n, v, a)功能: 将函数f(v)在v=a处展开n阶泰勒公式例10 将函数 展开为的6阶麦克劳林公式。解 Matlab命令为syms x ;f=x*atan(x) log(s

9、qrt(1+x2);taylor(f)ans = 1/2*x2-1/12*x4例11 将函数展开为关于的最高次为4的幂级数。解 Matlab 命令为 syms x ; f = 1/x2 ; taylor(f, 4, x, 2) ; pretty(taylor(f, 4, x, 2) ; 112 数值积分法及其在Matlab中的实现用定积分的符号解法求定积分有时会失效,此时,可以用数值方法来计算定积分的值。Matlab提供了如下一些计算定积分值的数值方法。一、用数值方法计算定积分(1) 复合梯形公式复合梯形公式用小梯形面积代替小曲边梯形的面积,然后求和以获得定积分的近似值。命令形式:trapz(

10、x,y)功能:用复合梯形公式计算定积分,变量x是积分变量在被积区间上的分点向量,y为被积函数在x处对应的函数值向量。(2)复合辛普生公式本方法用抛物线代替小曲边梯形的曲边计算小面积,然后求和以获得定积分的近试值。命令形式1:命令形式2:式中式被积函数表达式字符串或者是函数文件名,积分的下限与上限,代表精度,可以缺省;缺省时,。 时用图形展示积分过程,时无图形,默认值为。命令形式比命令形式精度高。例11 用复合梯形公式和复合辛普生公式求的积分值。解 命令为syms x ;x=2:0.1:5 ;ff = inline(log(x)./(x.2),x) ;q=quad(ff,2,5) ;梯形法求积分

11、辛普生法求积分梯形法求积分 梯形法求积分 辛普生法求积分 说明:表示内联函数例12 设,其中,求。解 (1)建立命令文件运行结果得 trapz quad quad82.6576 2.6597 2.6597(3) 用数值方法计算二重积分命令形式: dblquad(f, xmin, xmax, ymin, ymax)功能:计算二重积分,其中xmin,,xmax,ymin,ymax表示积分限。例13 计算,其中是由所围成的区域。解 (1) 建立M函数文件function z=ff(x,y)z= x*y ; (2) Matlab命令为 dblquad(ff, 0.4 ,0.1) ans = 4例14

12、计算 解 Matlab命令ff = inline(x.2+y,x,y) ;dblquad(ff, 0, 1, 0, 1)ans = 0.8333113 线性方程和非线性方程在Matlab中的各种求解方法一、求多项式方程的根次多项式的一般形式为 ,式中的为常数。理论上已经知道,次多项式方程有个根,且对于的多项式方程,它的根可以用公式表示,而次数大于5的多项式方程,它的根一般不能用解析表达式表示。因此,在Matlab中,对于次数的多项式,可以快速求出所有根的准确形式,而对于的多项式方程,求不一定能求出所有根的准确形式,但可以求出所有根的近似形式。求多项式方程的根有如下一些命令:命令形式1: roo

13、ts(p)功能:求多项式p的所有根,注意这里的p只能是多项式方程。命令形式2:solve(s)功能:对一个方程s的默认变量求解,这里的方程s可以是多项式方程,也可以是一般的任意方程。命令形式3:solve(s,v)功能:对一个方程指定的变量v求解。命令形式4:solve(s1,s2,sn,v1,v2, ,vn)功能:对个方程的指定变量v1,v2, ,vn求解。命令形式5:x1,x2,x3,xn= solve(s1,s2,sn,v1,v2, ,vn) 功能:将个方程的指定变量v1,v2, ,vn求解的结果赋给x1,x2,x3,xn。例15 求方程的所有根。解 Matlab的命令为 p= 1 -4 9 -10; r=roots(p) ; r= 1.0000+2.0000i 1.0000-2.0000i 2.0000或 s1=sym(x3-4*x2+9*x-10); solve(s1)例16 求方程的所有根,其中为常数。解 Matlab的命令为 s1=sym(x2-a*x-4*b=0); solve(s1,x); ams = 1/2*a+1/2*(a2+16*b)(1/2) 1/2*a-1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号