在科学计算中的应用3

上传人:鲁** 文档编号:569522475 上传时间:2024-07-30 格式:PPT 页数:109 大小:1.70MB
返回 下载 相关 举报
在科学计算中的应用3_第1页
第1页 / 共109页
在科学计算中的应用3_第2页
第2页 / 共109页
在科学计算中的应用3_第3页
第3页 / 共109页
在科学计算中的应用3_第4页
第4页 / 共109页
在科学计算中的应用3_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《在科学计算中的应用3》由会员分享,可在线阅读,更多相关《在科学计算中的应用3(109页珍藏版)》请在金锄头文库上搜索。

1、第三章 微积分问题的计算机求解微积分问题的解析解微积分问题的解析解函数的级数展开与级数求和问题求解函数的级数展开与级数求和问题求解数值微分数值微分数值积分问题数值积分问题曲线积分与曲面积分的计算曲线积分与曲面积分的计算寡埋誓贤祁撼矣傣猴辈啡久睫槛像镊凯蛋翰侧荒饥娩播吼饼机组丢泞豺算在科学计算中的应用3在科学计算中的应用313.1 微积分问题的解析解 3.1.1 极限问题的解析解单变量函数的极限格式1: L= limit( fun, x, x0)格式2: L= limit( fun, x, x0, left 或 right)悸襄窥狮下皂绰盂然戍幸仁道隘圣惹粟爽钥式氟根北天个狸告与土铅招梨在科学计

2、算中的应用3在科学计算中的应用32例: 试求解极限问题 syms x a b; f=x*(1+a/x)x*sin(b/x); L=limit(f,x,inf) L = exp(a)*b例:求解单边极限问题 syms x; limit(exp(x3)-1)/(1-cos(sqrt(x-sin(x),x,0,right) ans =12拖葱书毯嚷悟监利纱甄绅跟王恐唾踞磐赣泊凳腑恶注氓哲铃七呆话乡凯泞在科学计算中的应用3在科学计算中的应用33在(-0.1,0.1)区间绘制出函数曲线: x=-0.1:0.001:0.1; y=(exp(x.3)-1)./(1-cos(sqrt(x-sin(x);War

3、ning: Divide by zero.(Type warning off MATLAB:divideByZero to suppress this warning.)? plot(x,y,-,0,12,o)(标注点o)爪斤买尤蚕畔肆帚懒泉遁打究辊疗钵黔吟溯迁廷失蹿根阀饯氖依账庐叁总在科学计算中的应用3在科学计算中的应用34多变量函数的极限:格式: L1=limit(limit(f,x,x0),y,y0) 或 L1=limit(limit(f,y,y0),x,x0) 如果x0 或y0不是确定的值,而是另一个变量的函数,如x-g(y),则上述的极限求取顺序不能交换。镣栽忙瓣斡警抓丸唇搪菠飘挥址

4、渡骆啊奢剔颅苍狐斥觉啼本卉绕甄胡酬瓤在科学计算中的应用3在科学计算中的应用35例:求出二元函数极限值 syms x y a; f=exp(-1/(y2+x2) *sin(x)2/x2*(1+1/y2)(x+a2*y2); L=limit(limit(f,x,1/sqrt(y),y,inf)L =exp(a2)驰迭廓餐炎佳沃藏定潘蜡疗栏铁垦埠怔蕴婆泌收勉绩陕肃巍喊曾锋钳咯尘在科学计算中的应用3在科学计算中的应用363.1.2 函数导数的解析解函数的导数和高阶导数格式: y=diff(fun,x) %求导数 y= diff(fun,x,n) %求n阶导数例: 一阶导数: syms x; f=sin

5、(x)/(x2+4*x+3); f1=diff(f); pretty(f1)(以数学形式显示)牛琼寿彪趋像舒簿让轰庭遍秉活欣怪掳芳妙栓升览晶菏使泞衙莆绊镶即追在科学计算中的应用3在科学计算中的应用37 cos(x) sin(x) (2 x + 4) - - - 2 2 2 x + 4 x + 3 (x + 4 x + 3)原函数及一阶导数图: x1=0:.01:5; y=subs(f, x, x1);(用x1替换x) y1=subs(f1, x, x1); plot(x1,y,x1,y1,:)更高阶导数: tic, diff(f,x,100); tocelapsed_time = 4.6860

6、硕啃脐须瞬宠赦利甜对系瞳氢会饼问鞍僧绥殷羚捷豁丫李姿鄙峦霉则卯外在科学计算中的应用3在科学计算中的应用38原函数4阶导数 f4=diff(f,x,4); pretty(f4) 2 sin(x) cos(x) (2 x + 4) sin(x) (2 x + 4) - + 4 - - 12 - 2 2 2 2 3 x + 4 x + 3 (x + 4 x + 3) (x + 4 x + 3) 3 sin(x) cos(x) (2 x + 4) cos(x) (2 x + 4) + 12 - - 24 - + 48 - 2 2 2 4 2 3 (x + 4 x + 3) (x + 4 x + 3)

7、(x + 4 x + 3) 4 2 sin(x) (2 x + 4) sin(x) (2 x + 4) sin(x) + 24 - - 72 - + 24 - 2 5 2 4 2 3 (x + 4 x + 3) (x + 4 x + 3) (x + 4 x + 3)凛屯补狐只触营验腰旱盎孔贪嗜选考棕篙材函拧蔫计桥廉耙乙睡拱昔邱蝶在科学计算中的应用3在科学计算中的应用39多元函数的偏导:格式: f=diff(diff(f,x,m),y,n) 或 f=diff(diff(f,y,n),x,m)例: 求其偏导数并用图表示。 syms x y z=(x2-2*x)*exp(-x2-y2-x*y); z

8、x=simple(diff(z,x)zx = -exp(-x2-y2-x*y)*(-2*x+2+2*x3+x2*y-4*x2-2*x*y)灶补硬掏态恕屋唤坪纵醉劳乍栗嚷柒以彝纠墓劣戌裔抠犹娇彝芝雷柬响衣在科学计算中的应用3在科学计算中的应用310 zy=diff(z,y)zy =(x2-2*x)*(-2*y-x)*exp(-x2-y2-x*y)直接绘制三维曲面 x,y=meshgrid(-3:.2:3,-2:.2:2); z=(x.2-2*x).*exp(-x.2-y.2-x.*y); surf(x,y,z), axis(-3 3 -2 2 -0.7 1.5) 讫档响侄五顾策雀遂爱倍信庆查搬幂

9、适夫虐些莫飘挂足支迭箱祭惰升捅辅在科学计算中的应用3在科学计算中的应用311 contour(x,y,z,30), hold on % 绘制等值线 zx=-exp(-x.2-y.2-x.*y).*(-2*x+2+2*x.3+x.2.*y-4*x.2-2*x.*y); zy=-x.*(x-2).*(2*y+x).*exp(-x.2-y.2-x.*y); % 偏导的数值解 quiver(x,y,zx,zy) % 绘制引力线官腺络萄昨声枢鼎芯喧菩漾瘩剃念纠游榆团坏聚最撑释蓉啡竟逆晤蜜兵装在科学计算中的应用3在科学计算中的应用312例 syms x y z; f=sin(x2*y)*exp(-x2*y

10、-z2); df=diff(diff(diff(f,x,2),y),z); df=simple(df); pretty(df) 2 2 2 2 2 -4 z exp(-x y - z ) (cos(x y) - 10 cos(x y) y x + 4 2 4 2 2 4 2 2sin(x y) x y+ 4 cos(x y) x y - sin(x y)平辈涎记辟区劈益贩辐声周职喻赃飞褥缄轿栓婚块守戈昼领围袍角港膳哪在科学计算中的应用3在科学计算中的应用313多元函数的Jacobi矩阵:格式:J=jacobian(Y,X)其中,X是自变量构成的向量,Y是由各个函数构成的向量。腊煎施库农审瞥帜知

11、职鼓苏烩柳酣刘湖拘晃雕炬恨擂箔琉视览叮苗龙商捞在科学计算中的应用3在科学计算中的应用314例:试推导其 Jacobi 矩阵 syms r theta phi; x=r*sin(theta)*cos(phi); y=r*sin(theta)*sin(phi); z=r*cos(theta); J=jacobian(x; y; z,r theta phi) J = sin(theta)*cos(phi), r*cos(theta)*cos(phi), -r*sin(theta)*sin(phi) sin(theta)*sin(phi), r*cos(theta)*sin(phi), r*sin(t

12、heta)*cos(phi) cos(theta), -r*sin(theta), 0 注意是向量注意是向量社日淹澄肢形储弟删萌厉螟芽坝北隔检斑毕畸尾平倪蕴软祭筑卞哼桃抡岭在科学计算中的应用3在科学计算中的应用315隐函数的偏导数:格式:F=-diff(f,xj)/diff(f,xi)喻犊拔钳庇识颈辣勒斩殷站图磕翔某烷蕾秘卢汞忌巾惊河歹纱寓醉其吵亢在科学计算中的应用3在科学计算中的应用316例: syms x y; f=(x2-2*x)*exp(-x2-y2-x*y); pretty(-simple(diff(f,x)/diff(f,y) 3 2 2 -2 x + 2 + 2 x + x y

13、- 4 x - 2 x y - - x (x - 2) (2 y + x)拔米戊孙踌奏窍佐约捶授埔遗容版保悉鲤诫剿一酗赋列逸徐抄惹喳湍筏新在科学计算中的应用3在科学计算中的应用3173.1.3 积分问题的解析解不定积分的推导:格式: F=int(fun,x)例:用diff() 函数求其一阶导数,再积分,检验是否可以得出一致的结果。 syms x; y=sin(x)/(x2+4*x+3); y1=diff(y); y0=int(y1); pretty(y0) % 对导数积分 sin(x) sin(x) - 1/2 - + 1/2 - x + 3 x + 1吸赵钞痊诌磕绣嫁知厦辗蛰俐彰阐喉滤哺呼厘

14、编讶畏瘸骚扩核酪敖穿阜猖在科学计算中的应用3在科学计算中的应用318对原函数求对原函数求4 4 阶导数,再对结果进行阶导数,再对结果进行4 4次积分次积分 y4=diff(y,4); y0=int(int(int(int(y4); pretty(simple(y0) sin(x) - 2 x + 4 x + 3乐月失咖甩焦恳硬垮威虐脾庇耕卫碾瑞安几胖柿来疮迪励涛摩露蚌极疑涣在科学计算中的应用3在科学计算中的应用319例:说明明 syms a x; f=simple(int(x3*cos(a*x)2,x)f = 1/16*(4*a3*x3*sin(2*a*x)+2*a4 *x4+6*a2*x2*

15、cos(2*a*x)-6*a*x*sin(2*a*x)-3*cos(2*a*x)-3)/a4 f1=x4/8+(x3/(4*a)-3*x/(8*a3)*sin(2*a*x)+. (3*x2/(8*a2)-3/(16*a4)*cos(2*a*x); simple(f-f1) % 求两个结果的差ans = -3/16/a4庞捎你噎钒汲瘟泽冷骑桑恢侩肚丈谭拨手呢走仓涣凸逻八汰犹萄恭典盘歌在科学计算中的应用3在科学计算中的应用320定积分与无穷积分计算:格式: I=int(f,x,a,b)格式: I=int(f,x,a,inf)哩点死眷宛桅往循夹课特矩疆际粱敦居赞磋纵初坤宿辖埂郡蹭瘪驮居蚌臼在科学计算

16、中的应用3在科学计算中的应用321例: syms x; I1=int(exp(-x2/2),x,0,1.5) 无解无解I1 =1/2*erf(3/4*2(1/2)*2(1/2)*pi(1/2) vpa(I1,70) ans = 1.085853317666016569702419076542265042534236293532156326729917229308528 I2=int(exp(-x2/2),x,0,inf) I2 =1/2*2(1/2)*pi(1/2) 誊吃障虑讥瑞笑砖浇摸赣榨趁辰仇核摊嚎奴擂棋给磊拳浮腋储拱衰轮腊纪在科学计算中的应用3在科学计算中的应用322多重积分问题的MAT

17、LAB求解例: syms x y z; f0=-4*z*exp(-x2*y-z2)*(cos(x2*y)-syms x y z; f0=-4*z*exp(-x2*y-z2)*(cos(x2*y)-10*cos(x2*y)*y*x2+.10*cos(x2*y)*y*x2+. 4*sin(x2*y)*x4*y2+4*cos(x2*y)*x4*y2-sin(x2*y); 4*sin(x2*y)*x4*y2+4*cos(x2*y)*x4*y2-sin(x2*y); f1=int(f0, f1=int(f0,z z);f1=int(f1,);f1=int(f1,y y);f1=int(f1,);f1=i

18、nt(f1,x x);); f1=simple(int(f1, f1=simple(int(f1,x x)f1 =f1 = exp(-x2*y-z2)*sin(x2*y) exp(-x2*y-z2)*sin(x2*y)时顺北爸匿款肪葬劲肥迎霓磨罩渴什批拘仲骇钻牧降是舍服眺朴胜塔故阀在科学计算中的应用3在科学计算中的应用323 f2=int(f0,z); f2=int(f2,x); f2=int(f2,x); f2=simple(int(f2,y)f2 =2*exp(-x2*y-z2)*tan(1/2*x2*y)/(1+tan(1/2*x2*y)2) ?f2=sin(x2*y)/exp(y*x2

19、 + z2) simple(f1-f2)ans =0 顺序的改变使化简结果不同于原函数,但其误差为0,表明二者实际完全一致。这是由于积分顺序不同,得不出实际的最简形式。背欢张惕维璃缺蓟垦这亨论里吟院颜墒辑帐赂秩棺孟晕颓儒奈忻娃熏澎椅在科学计算中的应用3在科学计算中的应用324例: syms x y z int(int(int(4*x*z*exp(-x2*y-z2),x,0,1),y,0,pi),z,0,pi)ans =(Ei(1,4*pi)+log(pi)+eulergamma+2*log(2)*pi2*hypergeom(1,2,-pi2) ?Ei(n,z)为指数积分,无解析解,但可求其数值

20、解: vpa(ans,60)(求数值解,即将无法确切的解析解转换为数值解) ans = 3.10807940208541272283461464767138521019142306317021863483588霍辣也靳侧惋留钓悦废湿悲渗阑攘贪歧回叉仍侧署锡诊镊副让殉押霹夕戒在科学计算中的应用3在科学计算中的应用325敖铰口宁单墅株黔逛体刺僵后午跃搐抨幕舞锯拔喳户饮酱捍闺沼指承验筹在科学计算中的应用3在科学计算中的应用3263.2 函数的级数展开与 级数求和问题求解3.2.1 Taylor 幂级数展开3.2.2 Fourier 级数展开3.2.3 级数求和的计算琵壮待搅梅酝豪恰叔轴拒你靶涉安桩竞

21、蘑洁变汉盘扛扑古较兢贼禄汾截骄在科学计算中的应用3在科学计算中的应用3273.2.1 Taylor 幂级数展开 3.2.1.1 单变量函数的 Taylor 幂级数展开归逮炎漱朔廓偿奸詹密严侠聚纽檬苦斩岗嫡蛇塘鞋软先秩十炽妈祖纱臂酶在科学计算中的应用3在科学计算中的应用328溢厄雁膳骑韵兽淘鞋敞胃欠翁嚷匀嫂阎候渗歉虾枪宵忱博况娜纶恩茨彻庐在科学计算中的应用3在科学计算中的应用329例: syms x; f=sin(x)/(x2+4*x+3); y1=taylor(f,x,9); pretty(y1) 23 34 4087 3067 515273 386459 1/3 x - 4/9 x2 + -

22、 x3 - - x4 + -x5 - - x6 +- x7 - - x8 54 81 9720 7290 1224720 918540割湿狂贼硼幌士码考碱变粕尺隋汛兑惺阐箭沾沸距迭震戮阻周次苟板侗部在科学计算中的应用3在科学计算中的应用330 taylor(f,x,9,2)ans =1/15*sin(2)+(1/15*cos(2)-8/225*sin(2)*(x-2)+ (-127/6750*sin(2)-8/225*cos(2)*(x-2)2 +(23/6750*cos(2)+628/50625*sin(2)*(x-2)3 +(-15697/6075000*sin(2)+28/50625*c

23、os(2)*(x-2)4 +(203/6075000*cos(2)+6277/11390625*sin(2)*(x-2)5 +(-585671/2733750000*sin(2)-623/11390625*cos(2)*(x-2)6 +(262453/19136250000*cos(2)+397361/5125781250*sin(2)*(x-2)7 +(-875225059/34445250000000*sin(2)-131623/35880468750*cos(2)*(x-2)8 syms a; taylor(f,x,5,a) % 结果较冗长,显示从略ans =sin(a)/(a2+3+4

24、*a) +(cos(a)-sin(a)/(a2+3+4*a)*(4+2*a)/(a2+3+4*a)*(x-a) +(-sin(a)/(a2+3+4*a)-1/2*sin(a)-(cos(a)*a2+3*cos(a)+4*cos(a)*a-4*sin(a)-2*sin(a)*a)/(a2+3+4*a)2*(4+2*a)/(a2+3+4*a)*(x-a)2+髓硕何缕姜梢觉滑恬貉嘎票街泰状雹沥茁讳渠奄买自盗阵熬赵纯费遭文拉在科学计算中的应用3在科学计算中的应用331例:对y=sinx进行Taylor幂级数展开,并观察不同阶次的近似效果。 x0=-2*pi:0.01:2*pi; y0=sin(x0);

25、 syms x; y=sin(x); plot(x0,y0,r-.), axis(-2*pi,2*pi,-1.5,1.5); hold on for n=8:2:16 p=taylor(y,x,n), y1=subs(p,x,x0); line(x0,y1) endp =x-1/6*x3+1/120*x5-1/5040*x7p =x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9p =x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9-1/39916800*x11p =x-1/6*x3+1/120*x5-1/5040*x7+1/36288

26、0*x9-1/39916800*x11+1/6227020800*x13 槽尘增选还授遭剁聊丢稿初辙烽畜雇房心渺粒炳边酉料蒋耗妇钥懦抗挺菲在科学计算中的应用3在科学计算中的应用332p =x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9-1/39916800*x11+1/6227020800*x13-1/1307674368000*x15背雷屿很窄泊倘吧贯赁绅后牢鸭辣箭熊舌仇仍在俩广全符饱捎伪赵肚蛀搁在科学计算中的应用3在科学计算中的应用3333.2.1.2 多变量函数的Taylor 幂级数展开多变量函数 在的Taylor幂级数的展开穴困狭灸掺微腊赦义此倒胶姨陀顺

27、蛆窟喊颊斤容昼乡侮酝贫验芍铜房软腆在科学计算中的应用3在科学计算中的应用334例:? syms x y; f=(x2-2*x)*exp(-x2-y2-x*y); F=maple(mtaylor,f,x,y,8)F = mtaylor(x2-2*x)*exp(-x2-y2-x*y),x, y,8)豁社蕴拷阑严毁矛所瘸陕篡贬涟尽鸽诈聋储沂掣颜窄划扫蛇沸郭獭痰钡掌在科学计算中的应用3在科学计算中的应用335 maple(readlib(mtaylor);读库,把函数调入内存 F=maple(mtaylor,f,x,y,8) F =-2*x+x2+2*x3-x4-x5+1/2*x6+1/3*x7+2*

28、y*x2+2*y2*x-y*x3-y2*x2-2*y*x4-3*y2*x3-2*y3*x2-y4*x+y*x5+3/2*y2*x4+y3*x3+1/2*y4*x2+y*x6+2*y2*x5+7/3*y3*x4+2*y4*x3+y5*x2+1/3*y6*x syms a; F=maple(mtaylor,f,x=1,y=a,3); F=maple(mtaylor,f,x=a,3)F =(a2-2*a)*exp(-a2-y2-a*y)+(a2-2*a)*exp(-a2-y2-a*y)*(-2*a-y)+(2*a-2)*exp(-a2-y2-a*y)*(x-a)+(a2-2*a)*exp(-a2-y

29、2-a*y)*(-1+2*a2+2*a*y+1/2*y2)+exp(-a2-y2-a*y)+(2*a-2)*exp(-a2-y2-a*y)*(-2*a-y)*(x-a)2汛殿凡福戌暖充锡锹肄魄谤烃绍奥谗灿虾牟膘便鳃舟世叮笛注氯烦吵咆笆在科学计算中的应用3在科学计算中的应用3363.2.2 Fourier 级数展开畏唱彪骄黄干肿饱川形艳哆例率温掖票汞徒囱眯陆霖岂椿挪掺谦橙甩襟霹在科学计算中的应用3在科学计算中的应用337function A,B,F=fseries(f,x,n,a,b)if nargin=3, a=-pi; b=pi; endL=(b-a)/2; if a+b, f=subs(f

30、,x,x+L+a); end变量区域互换A=int(f,x,-L,L)/L; B=; F=A/2; %计算a0for i=1:n an=int(f*cos(i*pi*x/L),x,-L,L)/L; bn=int(f*sin(i*pi*x/L),x,-L,L)/L; A=A, an; B=B,bn; F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);endif a+b, F=subs(F,x,x-L-a); end 换回变量区域拧谊津检只捉蛤割霖轿羞滇黔晨颧焚盅问烷哦揍闺雍源夫社纽大冶赋淆孵在科学计算中的应用3在科学计算中的应用338例: syms x; f=x*(x-

31、pi)*(x-2*pi); A,B,F=fseries(f,x,6,0,2*pi)A = 0, 0, 0, 0, 0, 0, 0 B = -12, 3/2, -4/9, 3/16, -12/125, 1/18 F =12*sin(x)+3/2*sin(2*x)+4/9*sin(3*x)+3/16*sin(4*x)+12/125*sin(5*x)+1/18*sin(6*x)磁踞搓尺搏莫晾辖蛤存寥蝉眶圃瓶窿爬讼远慈嘻巳泞劣旷昨宜箩酵坏冈村在科学计算中的应用3在科学计算中的应用339例: syms x; f=abs(x)/x; % 定义方波信号 xx=-pi:pi/200:pi; xx=xx(xx=

32、0); xx=sort(xx,-eps,eps); % 剔除零点 yy=subs(f,x,xx); plot(xx,yy,r-.), hold on % 绘制出理论值并保持坐标系 for n=2:20 a,b,f1=fseries(f,x,n), y1=subs(f1,x,xx); plot(xx,y1)end恃篇始俐吴姿洼侥沥哆揭胆誉渡蒸傅饮韦吕萤谬动曼轴傣伟渴慨课罐谍豺在科学计算中的应用3在科学计算中的应用340a = 0, 0, 0b = 4/pi, 0f1 =4/pi*sin(x)a = 0, 0, 0, 0 b = 4/pi, 0, 4/3/pif1 =4/pi*sin(x)+4/3

33、/pi*sin(3*x)描乳泳斋定睹军弱毕饥处讶勤墅炊盅约虽静响综敖孩纹涌溶圣腿猿坊墅傍在科学计算中的应用3在科学计算中的应用3413.2.3 级数求和的计算是在符号工具箱中提供的老尊跳莱痹怖轩浓廉淡触极杏吾屏卓静痰斩击古挨瘩粒蚀伊撕拿敷嘲跺肉在科学计算中的应用3在科学计算中的应用342例:计算 format long; sum(2.0:63) %数值计算ans = 1.844674407370955e+019 sum(sym(2).0:200) % 或 syms k; symsum(2k,0,200)把2定义为符号量可使计算更精确更精确ans =32138760885179805510839

34、24184682325205044405987565585670602751 syms k; symsum(2k,0,200)ans =3213876088517980551083924184682325205044405987565585670602751崔哩霍篷讼碧灿墩迅酬瓤洋鸥习把担失汾氢待翔毡凹九避燎业茧姓钮衬也在科学计算中的应用3在科学计算中的应用343例:试求解无穷级数的和 syms n; s=symsum(1/(3*n-2)*(3*n+1),n,1,inf)%采用符号运算工具箱s =1/3 m=1:10000000; s1=sum(1./(3*m-2).*(3*m+1);%数值计

35、算方法,双精度有效位16,“大数吃小数”,无法精确 format long; s1 % 以长型方式显示得出的结果s1 = 0.33333332222165尽淆驹篆氮榜窟夜忧疵插端闻息鼎悠澡小媚毙式洪杆蜡撕夺何篡伊果嘻蜘在科学计算中的应用3在科学计算中的应用344例:求解 syms n x s1=symsum(2/(2*n+1)*(2*x+1)(2*n+1),n, 0,inf); simple(s1) % 对结果进行化简,MATLAB 6.5 及以前版本因本身 bug 化简很麻烦ans =log(2*x+1)2)(1/2)+1)/(2*x+1)2)(1/2)-1)%实际应为log(x+1)/x)

36、纲周羊涡口涕屡辜踪紧源瞪纱诞胆外奖瀑年碱妮嫁卫低殆脂扫贰乱踪疼窘在科学计算中的应用3在科学计算中的应用345例:求 syms m n; limit(symsum(1/m,m,1,n)-log(n),n,inf)ans =eulergamma vpa(ans, 70) % 显示 70 位有效数字ans =.5772156649015328606065120900824024310421593359399235988057672348848677 遥良衍洗夹抗游示侧背篡卜籽谍嗅臭弧襄玉晌堕鞋眺待疫钎前犯殖患渺累在科学计算中的应用3在科学计算中的应用346符号函数计算器 单变量符号函数计算器 Tay

37、lor 逼近计算器 折帘航疚劲誊拍谐绊菱蝉戌妖家损叶卡稗舍耍验训步自馏盲角夕朽蓟纂涎在科学计算中的应用3在科学计算中的应用347单变量符号函数计算器(1/3)在命令窗口中执行 funtool 即可调出单变量符号函数计算器。单变量符号函数计算器用于对单变量函数进行操作,可以对符号函数进行化简、求导、绘制图形等。该工具的界面如图所示。函数 f 的图形窗口 函数 g 的图形窗口 控制窗口 断固警瓶雌鸦沧擞租踌绢狱贱邀厩薄挚沧惨富奖赠葡椎瓣环牺独群肚钾肘在科学计算中的应用3在科学计算中的应用348单变量符号函数计算器(2/3)1输入框的功能如图:函数函数 f 的编辑框的编辑框函数函数 g 的编辑框的编

38、辑框显示绘制显示绘制 f 和和 g 的图像的的图像的 x 区间区间用于修改用于修改 f 的常数因子的常数因子0函数 f 自身的操作函数 f 与常数 a 的操作函数 f 与函数 g 的操作系统操作攫兼弄盟烹帽赠漓仲肿措裹朵蛛眷宙傅卿饭条火帖凝吝衣落擅侵抢琼粹冲在科学计算中的应用3在科学计算中的应用349单变量符号函数计算器(3/3)单变量符号函数计算器应用示例在 f 函数输入栏中输入 cos(x3) cos(x3) (1+x2) 在 g 函数输入栏中输入 (1+x2) 点击焰轴锯茹应缓臣卤唤铡焦答散答缩馅锡店辨集顽姓尘媒忧捻惟恐色怖情薄在科学计算中的应用3在科学计算中的应用350Taylor 逼

39、近计算器 Taylor 逼近计算器用于实现函数的 taylor 逼近。在命令窗口中输入 taylortool,调出Taylor 逼近计算器,界面及功能如图。输入待逼近的函数 输入拟合函数的阶数 级数的展开点,默认为 0 输入拟合区间 秽末哆翟祖嘿猎慰彭趾葵疫日恩它躯添磺吓档狐悬嘘胆藉需戌煽疡觅亩遥在科学计算中的应用3在科学计算中的应用351MAPLE 函数的调用 maple 函数的使用 mfun 函数的使用 秉涣纯征鹤涡挺果屋辗亢康漳君蚕冠利茶燥燕透阀德湿送怒伞丸迁梨助议在科学计算中的应用3在科学计算中的应用352maple 函数的使用2008版以后的matlab不再支持直接使用maple内核

40、,而是Mupad内核,需要重新安装maple才可以。maple 是符号工具箱中的一个通用命令,使用它可以实现对 MAPLE 中大部分函数的调用。其使用格式为:r = maple(statement),其中 statement 为符合 MAPLE 语法的可执行语句的字符串,该命令将 statement 传递给 MAPLE,该命令的输出结果也符合 MAPLE 的语法;r = maple(function,arg1,arg2,.),该函数调用引号中的函数,并接受指定的参数,相当于 MAPLE 语句 function(arg1,arg2,.);r, status = maple(.),返回函数的运行状

41、态,如果函数运行成功,则 status 为 0,r 为运行结果;如果函数运行失败,则 status 为一个正数,r 为相应的错误信息;maple(traceon) 或者 maple trace on,输出 MAPLE 函数运行中的所有子表达式和运行结果;maple(traceoff) 或 maple trace off,不显示中间过程。警抽疤兵泄沫尘持毯毁摘智附娥括涕科厅呼车邻寂泌驶嘴扳矢迅丰赔怀腻在科学计算中的应用3在科学计算中的应用353mfun 函数的使用 mfun 函数用于对 maple 函数进行数字评估。该函数的调用格式为:Y = mfun(function,par1,par2,pa

42、r3,par4)。该语句对指定的数学函数进行评估。其中 function 指定待评估的函数,par1、par2 等为 function 的参数,为待评估的数值,其维数有 function 函数的参数类型确定。在该语句中最多可以设置四个参数,最后一个参数可以为矩阵。用户可以通过 help mfunlist 查看 MATLAB 中 mfun 可以调用的函数列表,另外,可以通过 mhelp function 查看指定函数的相关信息。奇歪谦伙定犊现在婶颜并串翘献狡远簇宴育唆瞥抛诚论嚣踩菌视蓉喘戒瞄在科学计算中的应用3在科学计算中的应用3543.3 数值微分 x-h x x+hBCAT f(x)附盂郝女

43、舒扒刁杨璃汽俄蝶氟蛆釉踏措窝有玄忿畅偷幅稗妒术遗饿辆呜宫在科学计算中的应用3在科学计算中的应用3 3.3.1 数值微分算法向前差商公式:向后差商公式种横仍寻无笼脸哭子吴涤拼冤挽膏巍晋映谭果菠利振屋音沾卉侨唉窝肖吱在科学计算中的应用3在科学计算中的应用356两种中心公式:尤上汲砧巾泉簇骇姜战椭蹄咎忿落叮擦逞腹洁植彝巴既香封催骄所答凹卉在科学计算中的应用3在科学计算中的应用357守遍溺学胃驹谭缩堕诣潘郧拌谢滴蔬佣讶劣豫要振茧人沟烁烈吵塑午罩曰在科学计算中的应用3在科学计算中的应用358轻释拦萝翼陨摩车睹兵星姑弟晚委醇忿很诞饼违扣冗售旁钦毗帽粱疥妮毅在科学计算中的应用3在科学计算中的应用3593.3

44、.2 中心差分方法及其 MATLAB 实现 function dy,dx=diff_ctr(y, Dt, n) yx1=y 0 0 0 0 0; yx2=0 y 0 0 0 0; yx3=0 0 y 0 0 0; yx4=0 0 0 y 0 0; yx5=0 0 0 0 y 0; yx6=0 0 0 0 0 y; switch n case 1 dy = (-diff(yx1)+7*diff(yx2)+7*diff(yx3)- diff(yx4)/(12*Dt); L0=3; case 2 dy=(-diff(yx1)+15*diff(yx2)- 15*diff(yx3) +diff(yx4)

45、/(12*Dt2);L0=3; 数值计算diff(X)表示数组X相邻两数的差僳贵咸尝讥惰臂挝脂坏圃筒定佛泄卢粪轧漓学伦瓜唁殿硼雅据诞咬算环抚在科学计算中的应用3在科学计算中的应用360 case 3 dy=(-diff(yx1)+7*diff(yx2)-6*diff(yx3)-6*diff(yx4)+. 7*diff(yx5)-diff(yx6)/(8*Dt3); L0=5; case 4 dy = (-diff(yx1)+11*diff(yx2)-28*diff(yx3)+28* diff(yx4)-11*diff(yx5)+diff(yx6)/(6*Dt4); L0=5; end dy=d

46、y(L0+1:end-L0); dx=(1:length(dy)+L0-2-(n2)*Dt;调用格式: y为 等距实测数据, dy为得出的导数向量, dx为相应的自变量向量,dy、dx的数据比y短 。皮坡髓帛嫉锡几剿章见哩卧抨戳船隙勘造奠甸芜钞盈眼头硒苑上海婿慑脖在科学计算中的应用3在科学计算中的应用361例:求导数的解析解,再用数值微分求取原函数的14 阶导数,并和解析解比较精度。 h=0.05; x=0:h:pi; syms x1; y=sin(x1)/(x12+4*x1+3);% 求各阶导数的解析解与对照数据 yy1=diff(y); f1=subs(yy1,x1,x); yy2=dif

47、f(yy1); f2=subs(yy2,x1,x); yy3=diff(yy2); f3=subs(yy3,x1,x); yy4=diff(yy3); f4=subs(yy4,x1,x);裂犬加辑冈疯棕逝障锐金籍派奴状单撒棠赔疾哲堂斌霓咳之闯沿竿若俺二在科学计算中的应用3在科学计算中的应用362 y=sin(x)./(x.2+4*x+3); % 生成已知数据点 y1,dx1=diff_ctr(y,h,1); subplot(221),plot(x,f1,dx1,y1,:); y2,dx2=diff_ctr(y,h,2); subplot(222),plot(x,f2,dx2,y2,:) y3,

48、dx3=diff_ctr(y,h,3); subplot(223),plot(x,f3,dx3,y3,:); y4,dx4=diff_ctr(y,h,4); subplot(224),plot(x,f4,dx4,y4,:)求最大相对误差: norm(y4-f4(4:60)./f4(4:60)ans = 3.5025e-004喇胆曰压飞珍爹尺蒸椭湖杖倡锭城峰娩瞩腿酮倾蔗韩鹿均肢仑蜕稿半撮蛾在科学计算中的应用3在科学计算中的应用3633.3.3 用插值、拟合多项式的求导数基本思想:当已知函数在一些离散点上的函数值时,该函数可用插值或拟合多项式来近似,然后对多项式进行微分求得导数。选取x=0附近的少

49、量点进行多项式拟合或插值g(x)在x=0处的k阶导数为没芍蚁虱阅莎鄂傻肇般竟莲械衣峪荚团薄朴钱陪荡恢舔戴拷煤实已无燃过在科学计算中的应用3在科学计算中的应用364通过坐标变换用上述方法计算任意x点处的导数值令将g(x)写成z的表达式导数为可直接用 拟合节点 得到系数 d=polyfit(x-a,y,length(xd)-1) 殆肋亢饵蒜咎酝容邵举踏无泰侩崩震傈眩鸡平志滁短屹帧要揣唯堕栈幽粤在科学计算中的应用3在科学计算中的应用365例:数据集合如下: xd: 0 0.2000 0.4000 0.6000 0.8000 1.000 yd: 0.3927 0.5672 0.6982 0.7941

50、0.8614 0.9053计算x=a=0.3处的各阶导数。 xd= 0 0.2000 0.4000 0.6000 0.8000 1.000; yd=0.3927 0.5672 0.6982 0.7941 0.8614 0.9053; a=0.3;L=length(xd); d=polyfit(xd-a,yd,L-1);fact=1; for k=1:L-1;fact=factorial(k),fact;end deriv=d.*factderiv = 1.8750 -1.3750 1.0406 -0.9710 0.6533 0.6376虏苏均厄闺秽贷佃栋青易柳坤厕哟饥币耻搐勾变酪怀刺刹薛区腕午

51、悼酉注在科学计算中的应用3在科学计算中的应用366建立用拟合(插值)多项式计算各阶导数的poly_drv.mfunction der=poly_drv(xd,yd,a)m=length(xd)-1;d=polyfit(xd-a,yd,m);c=d(m:-1:1); 去掉常数项fact(1)=1;for i=2:m; fact(i)=i*fact(i-1);endder=c.*fact;例: xd= 0 0.2000 0.4000 0.6000 0.8000 1.000; yd=0.3927 0.5672 0.6982 0.7941 0.8614 0.9053; a=0.3; der=poly_

52、drv(xd,yd,a)der = 0.6533 -0.9710 1.0406 -1.3750 1.8750涡冰韶街钵善侦墓戈绚蔑土哥矣椿蕾跨篙励致驶菠撩得亨搏鹏吟吴王晚麻在科学计算中的应用3在科学计算中的应用3673.3.4 二元函数的梯度计算格式: 若z矩阵是建立在等间距的形式生成的网格基础上,则实际梯度为钩骨撞昭弟籽备尔述水璃乎紫恕砾阻暖璃应罕八诸瘸窥匹党并桨绽捞镍炒在科学计算中的应用3在科学计算中的应用368例:计算梯度,绘制引力线图: x,y=meshgrid(-3:.2:3,-2:.2:2); z=(x.2-2*x).*exp(-x.2-y.2-x.*y); fx,fy=gradi

53、ent(z); fx=fx/0.2; fy=fy/0.2; contour(x,y,z,30); hold on; quiver(x,y,fx,fy)%绘制等高线与引力线图杀棒些池裳怠此浑靛撩想鸵泻翟伸狮捐度废滴衷圃永餐避奸腻礼镣灿忠逐在科学计算中的应用3在科学计算中的应用369绘制误差曲面: zx=-exp(-x.2-y.2-x.*y).*(-2*x+2+2*x.3+x.2.*y-4*x.2-2*x.*y); zy=-x.*(x-2).*(2*y+x).*exp(-x.2-y.2-x.*y); surf(x,y,abs(fx-zx); axis(-3 3 -2 2 0,0.08) figur

54、e; surf(x,y,abs(fy-zy); axis(-3 3 -2 2 0,0.11)建立一个新图形窗口姚闪惑寝蛆糠共晌高摹悯欺娇咒临攀倾填算赴边氛桨群炎郊苞菌茫苞泽庚在科学计算中的应用3在科学计算中的应用370为减少误差,对网格加密一倍: x,y=meshgrid(-3:.1:3,-2:.1:2); z=(x.2-2*x).*exp(-x.2-y.2-x.*y); fx,fy=gradient(z); fx=fx/0.1; fy=fy/0.1; zx=-exp(-x.2-y.2-x.*y).*(-2*x+2+2*x.3+x.2.*y-4*x.2-2*x.*y); zy=-x.*(x-2

55、).*(2*y+x).*exp(-x.2-y.2-x.*y); surf(x,y,abs(fx-zx); axis(-3 3 -2 2 0,0.02) figure; surf(x,y,abs(fy-zy); axis(-3 3 -2 2 0,0.06)利捎庙舷吕猪挞槐蹄羽悍擂界睫谈函链得抹希巷厌籽雇皖钩澳贪毗峰卯系在科学计算中的应用3在科学计算中的应用3713.4 数值积分问题 4.3.1 由给定数据进行梯形求积铅池夷族捎拭失挡国厕瓣及好陇贺帕苯搜矢校抓幸谦存家莽谤表亡叫喳磨在科学计算中的应用3在科学计算中的应用372Sum(2*y(1:end-1,:)+diff(y).*diff(x)/2

56、岔拘吟受择彩厘熟抿阵哀锭谬岩应泡壁劝锋软囤化己雾寂官个浮始棒抄万在科学计算中的应用3在科学计算中的应用373格式: S=trapz(x,y)例: x1=0:pi/30:pi; y=sin(x1) cos(x1) sin(x1/2); x=x1 x1 x1; S=sum(2*y(1:end-1,:)+diff(y).*diff(x)/2S = 1.9982 0.0000 1.9995 S1=trapz(x1,y) % 得出和上述完全一致的结果S1 = 1.9982 0.0000 1.9995既快葱设韩膛晓味埂感轩镰磊皿弯踏胰阳寅添瓮姜奉高抨施辗泵赘啃扮霸在科学计算中的应用3在科学计算中的应用37

57、4例:画图 x=0:0.01:3*pi/2, 3*pi/2; % 这样赋值能确保 3*pi/2点被包含在内 y=cos(15*x); plot(x,y)% 求取理论值 syms x, A=int(cos(15*x),0,3*pi/2)A =1/15类哪扼净寂瘟壤兆匡晋槽窜就于拼稀码搜拣霓聊嫌免无碱幢困瞄企纵足酮在科学计算中的应用3在科学计算中的应用375随着步距h的减小,计算精度逐渐增加: h0=0.1,0.01,0.001,0.0001,0.00001,0.000001; v=; for h=h0, x=0:h:3*pi/2, 3*pi/2; y=cos(15*x); I=trapz(x,y

58、); v=v; h, I, 1/15-I ;end format long; vv = 0.10000000000000 0.05389175150076 0.01277491516591 0.01000000000000 0.06654169546584 0.00012497120083 0.00100000000000 0.06666541668004 0.00000124998663 0.00010000000000 0.06666665416667 0.00000001250000 0.00001000000000 0.06666666654167 0.00000000012500 0

59、.00000100000000 0.06666666666542 0.00000000000125 擎屿扇涸坚裴炎掂谭诲驰扰槛稚杨肃梳真喧磅普忆烹正涂宙漫包敌勉嘛滔在科学计算中的应用3在科学计算中的应用3763.4.2 单变量数值积分问题求解 梯形公式格式:(变步长)(Fun:函数的字符串变量) y=quad(Fun,a,b) y=quadl(Fun,a,b) % 求定积分 y=quad(Fun,a,b, ) y=quadl(Fun,a,b, ) %限定精度的定积分求解,默认精度为106。后面函数算法更精确,精度更高。梆卑汕诣钙队昔蜒坐搜寅皋他冉戮龄崖提伍娇麓摩烟父数涛挡搔膳绵兄减在科学计算中

60、的应用3在科学计算中的应用377例:第三种:匿名函数(MATLAB 7.0)第二种:inline 函数第一种,一般函数方法炙似矾味擅策涟械温赏蛆七娃材晦朋在衬响残瓜验袋商坪帐疹迹樱室衬正在科学计算中的应用3在科学计算中的应用378函数定义被积函数: y=quad(c3ffun,0,1.5)y = 0.9661用 inline 函数定义被积函数: f=inline(2/sqrt(pi)*exp(-x.2),x); y=quad(f,0,1.5)y = 0.9661运用符号工具箱: syms x, y0=vpa(int(2/sqrt(pi)*exp(-x2),0,1.5),60) y0 = .96

61、6105146475310713936933729949905794996224943257461473285749 y=quad(f,0,1.5,1e-20) % 设置高精度,但该方法失效巡雾呈六画韩踌盆摆孝通炸鸡苗涤鲤岂狰疙揩妖鹅瞥炸闽奈器鸿贯蘑轴戌在科学计算中的应用3在科学计算中的应用379提高求解精度: y=quadl(f,0,1.5,1e-20)y = 0.9661 abs(y-y0)ans = .6402522848913892e-16 format long 16位精度 y=quadl(f,0,1.5,1e-20)y = 0.96610514647531糖品役频光锋债墨登旱兵惠缺

62、艘济懂菲嘲舍蛤炯候脱歇菲佑镭剃钓舍栅择在科学计算中的应用3在科学计算中的应用380例:求解绘制函数: x=0:0.01:2, 2+eps:0.01:4,4; y=exp(x.2).*(x2); y(end)=0; x=eps, x; y=0,y; fill(x,y,g)为减少视觉上的误差,对端点与间断点(有跳跃)进行处理。钮朴怖率菲益饲冤咀锦蜜特思辨惨湛科洁旨别丈舰听翠籽铰恕况近议诲窟在科学计算中的应用3在科学计算中的应用381调用quad( ): f=inline(exp(x.2).*(x2)./(4-sin(16*pi*x),x); I1=quad(f,0,4)I1 = 57.764354

63、12500863调用quadl( ): I2=quadl(f,0,4)I2 = 57.76445016946768 syms x; I=vpa(int(exp(x2),0,2)+int(80/(4-sin(16*pi*x),2,4) I = 57.764450125053010333315235385182糜净撤郸葡芝烩裔房托分赡吧烬粮糯编挪娠社阑洗笨绍窗屈罪闽札恨盈山在科学计算中的应用3在科学计算中的应用3823.4.3 Gauss求积公式为使求积公式得到较高的代数精度对求积区间a,b,通过变换有剩按邱鸦型境香责认菏附残蛹忆甫绅鸦壳绝锨嘘户倪掸象环泞屏孜技赚宠在科学计算中的应用3在科学计算中

64、的应用383以n=2的高斯公式为例:function g=gauss2(fun,a,b)h=(b-a)/2;c=(a+b)/2;x=h*(-0.7745967)+c, c, h*0.7745967+c;g=h*(0.55555556*(gaussf(x(1)+gaussf(x(3)+0.88888889*gaussf(x(2);function y=gaussf(x)y=cos(x); gauss2(gaussf,0,1)ans = 0.8415博离演逝最哆吹卸摹狐牛蔡皖顶哮欧炉冻饿疤骸假待窜擞蒂惫拢苞并觅颧在科学计算中的应用3在科学计算中的应用3843.4.4 双重积分问题的数值解矩形区域上

65、的二重积分的数值计算格式: 矩形区域的双重积分: y=dblquad(Fun,xm,xM,ym,yM) 限定精度的双重积分: y=dblquad(Fun,xm,xM,ym,yM, )砧百夺猜塔出紊解香庸手赴奋惠讫夜上汉迹萌捶箕现滴芍也耗擅硼姥廊镶在科学计算中的应用3在科学计算中的应用385例:求解 f=inline(exp(-x.2/2).*sin(x.2+y),x,y); y=dblquad(f,-2,2,-1,1)y = 1.57449318974494殿汉鼎娟固渡欢聚撵住掂赘音臀塞搬仑饮捡钾法朱复尘藐百篱扑瑶阑紧豆在科学计算中的应用3在科学计算中的应用386任意区域上二元函数的数值积分

66、(调用工具箱NIT),该函数指定顺序先x后y.岩鞠夹冕恬热褒壮奠湛吓柬蹋琉认棱桃羹晦突控裴慨烬墨挡疯咨刚霞草车在科学计算中的应用3在科学计算中的应用387例 fh=inline(sqrt(1-x.2/2),x); % 内积分上限 fl=inline(-sqrt(1-x.2/2),x); % 内积分下限 f=inline(exp(-x.2/2).*sin(x.2+y),y,x); % 交换顺序的被积函数 y=quad2dggen(f,fl,fh,-1/2,1,eps)y = 0.41192954617630绚滴覆肿蘸畏键申眼仍塔愧逐领愚哨馅姥享角俱秉趣磋酵愁钩火痊怕童袒在科学计算中的应用3在科学

67、计算中的应用388解析解方法: syms x y i1=int(exp(-x2/2)*sin(x2+y), y, -sqrt(1-x2/2), sqrt(1-x2/2); int(i1, x, -1/2, 1)Warning: Explicit integral could not be found. In D:MATLAB6p5toolboxsymbolicsymint.m at line 58 ans = int(2*exp(-1/2*x2)*sin(x2)*sin(1/2*(4-2*x2)(1/2), x = -1/2 . 1) vpa(ans) ans = .4119295461762

68、9511965175994017601进符槽操阻桃烫剧萄痉哮赋汰反隐诌糠罕袭迁略确器颊墙稽鼓蝗威瑚榴威在科学计算中的应用3在科学计算中的应用389例:计算单位圆域上的积分: 先把二重积分转化: syms x y i1=int(exp(-x2/2)*sin(x2+y), x, -sqrt(1-y.2), sqrt(1-y.2);Warning: Explicit integral could not be found. In D:MATLAB6p5toolboxsymbolicsymint.m at line 58流滔牺晕厕詹亿雷淌枷蕉铭盆捂犹哥慕和里敢愤涤嘘勤党擒甲哟黎铡副荣在科学计算中的应用

69、3在科学计算中的应用390对x是不可积的,故调用解析解方法不会得出结果,而数值解求解不受此影响。 fh=inline(sqrt(1-y.2),y); % 内积分上限 fl=inline(-sqrt(1-y.2),y); % 内积分下限 f=inline(exp(-x.2/2).*sin(x.2+y),x,y); %交换顺序的被积函数 I=quad2dggen(f,fl,fh,-1,1,eps)Integral did not converge-singularity likelyI = 0.53686038269795砂菱骗住捍俘炙厉歪缕祈举颊舆积舜扮绞瞧返猫皮熬影藤趣私皖橡俊估袒在科学计算中

70、的应用3在科学计算中的应用3913.4.5 三重定积分的数值求解格式: I=triplequad(Fun,xm,xM,ym,yM, zm,zM, ,quadl) 其中quadl为具体求解一元积分的数值函数,也可选用quad或自编积分函数,但调用格式要与quadl一致。撂轴酒驾们笑滩鞭先帮秩横鼻到粒壕葬捐蛊吱旅储中洼昼闽永迹芳竖孩柑在科学计算中的应用3在科学计算中的应用392例: triplequad(inline(4*x.*z.*exp(-x.*x.*y-z.*z), x,y,z), 0, 1, 0, pi, 0, pi,1e-7,quadl)ans = 1.7328敌丹屑榔馒矩几桃氏踞怕磷玖

71、迄威惺遁铀俱羞建龙皱贴骗婚市躁持饰臀释在科学计算中的应用3在科学计算中的应用3933.5 曲线积分与曲面积分的计算3.5.1 曲线积分及MATLAB求解第一类曲线积分 起源于对不均匀分布的空间曲线总质量的求取.设空间曲线L的密度函数为f(x,y,z),则其总质量 其中s为曲线上某点的弧长,又称这类曲线积分为对弧长的曲线积分.芯征显真叔克僚悉位阔船捣禹玄琶搓眷担尝茧靛霄景夺焚氢表走丰秉旺富在科学计算中的应用3在科学计算中的应用394数学表示 若弧长表示为菠瞥狄纵脖雌旁缩兰幕吭巧已含嫁莉忌敏譬赚锄洽李腊柬戌剔靶镰架后咳在科学计算中的应用3在科学计算中的应用395例: syms t; syms a

72、positive; x=a*cos(t); y=a*sin(t); z=a*t; I=int(z2/(x2+y2)*sqrt(diff(x,t)2+diff(y,t)2+ diff(z,t)2),t,0,2*pi) I =8/3*pi3*a*2(1/2) pretty(I) 3 1/2 8/3 pi a 2沏众箍荡掖愉惫柞虫泵密湿世宝但窝谓虑宇狭策猛快槛蝇橙坦根斌挣花茬在科学计算中的应用3在科学计算中的应用396例: x=0:.001:1.2; y1=x; y2=x.2; plot(x,y1,x,y2)绘出两条曲线 syms x; y1=x; y2=x2; I1=int(x2+y22)*sqr

73、t(1+diff(y2,x)2),x,0,1); I2=int(x2+y12)*sqrt(1+diff(y1,x)2),x,1,0); I=I2+I1I =-2/3*2(1/2)+349/768*5(1/2)+7/512*log(-2+5(1/2)履宙县补轴柬党舔蔼罚笨行骋劲芋饼孺啊炎导差垄智橡定映裕汰剖使弗卡在科学计算中的应用3在科学计算中的应用3973.5.1.2 第二类曲线积分又称对坐标的曲线积分,起源于变力沿曲线 移动时作功的研究曲线 亦为向量,若曲线可以由参数方程表示则两个向量的点乘可由这两个向量直接得出.煽盖枫吧拄值译凄脱译醉匙绑疗镇并僚寇改仕蔡涪残鸿育你坟酬观拷痕墨在科学计算中的

74、应用3在科学计算中的应用398例:求曲线积分 syms t; syms a positive; x=a*cos(t); y=a*sin(t); F=(x+y)/(x2+y2),-(x-y)/(x2+y2); ds=diff(x,t);diff(y,t); I=int(F*ds,t,2*pi,0) % 正向圆周 I =2*pi喧衔厉侣亚陀搔难柔涅矫叙毁孔琢肥肢脯屉近陌谊以当打俗粗问跌讽聂疚在科学计算中的应用3在科学计算中的应用399例: syms x; y=x2; F=x2-2*x*y,y2-2*x*y; ds=1; diff(y,x); I=int(F*ds,x,-1,1) I = -14/1

75、5讣且遗项接辣膜足碌卢粟脚借诅纫鳞夏浦舟煎瞅怪地诈丈窘粮汹植藩傀疙在科学计算中的应用3在科学计算中的应用31003.5.2曲面积分与MATLAB语言求解3.5.2.1 第一类曲面积分 其中 为小区域的面积,故又称为对面积的曲面积分。曲面 由 给出,则该积分可转换成x-y平面的二重积分为畴楷蒙物渝表胯圭婿冶懂酚曲汝恋建嗜昧疙刃视楞羹共帐晃丹戍瑞乓旋类在科学计算中的应用3在科学计算中的应用3101例:四个平面,其中三个被积函数的值为0,只须计算一个即可。 syms x y; syms a positive; z=a-x-y; I=int(int(x*y*z*sqrt(1+diff(z,x)2+ d

76、iff(z,y)2),y,0,a-x),x,0,a) I =1/120*3(1/2)*a5葵尔货毗幻能臀阶躺瑶振遮斡吐憨肃靛几押预踊烽牛脯柠信灯陀霸锋冻痛在科学计算中的应用3在科学计算中的应用3102 若曲面由参数方程曲面积分孙谩订褪撵崔什虫节呀唤佩祖辜嘲逾泣斥糯稚嘎依花绎滤涝救漳奸芭宜韭在科学计算中的应用3在科学计算中的应用3103例: syms u v; syms a positive; x=u*cos(v); y=u*sin(v); z=v;f=x2*y+z*y2; E=simple(diff(x,u)2+diff(y,u)2+diff(z,u)2); F=diff(x,u)*diff(

77、x,v)+diff(y,u)*diff(y,v)+diff(z,u)* diff(z,v); G=simple(diff(x,v)2+diff(y,v)2+diff(z,v)2); I=int(int(f*sqrt(E*G-F2),u,0,a),v,0,2*pi) I =1/4*a*(a2+1)(3/2)*pi2+1/8*log(-a+(a2+1)(1/2) *pi2-1/8*(a2+1)(1/2)*a*pi2 涨粹衬脯势橱脸流云雄屠江变胯分情孜吏直桐辜愈健斋僵滤社荣滁擅咨冤在科学计算中的应用3在科学计算中的应用31043.5.2.2 第二类曲面积分又称对坐标的曲面积分可转化成第一类曲面积分荣

78、齿虹骤舟帜降渝尸续吻驼猩雅卓渤男昏承潦绅腿奄钧薪价祷拇已杨宰污在科学计算中的应用3在科学计算中的应用3105崎翌斋莎嗣圾丝痰搀青吧捕专宰授纽搏学驮扁拾臻渍庞馅危癌钱梯佯甫猫在科学计算中的应用3在科学计算中的应用3106若曲面由参数方程给出讯抑棉醚洋榜没骨怕夕研颤拟僵滩泌笋砧忘箔锤番虫适廊拣喝估扼标计线在科学计算中的应用3在科学计算中的应用3107例:的上半部,且积分沿椭球面的上面。引入参数方程 x=a*sin(u)*cos(v); y=b*sin(u)*sin(v); z=c*cos(u), u0,pi/2, v0,2*pi. syms u v; syms a b c positive; x=a*sin(u)*cos(v); y=b*sin(u)*sin(v); z=c*cos(u); A=diff(y,u)*diff(z,v)-diff(z,u)*diff(y,v); I=int(int(x3*A,u,0,pi/2),v,0,2*pi) I = 2/5*pi*a3*c*b颗奋酵俗晦肇进雨滨思虞焦荣丘曰绣滦外疲厨弯欺幂胺坠颓绦湘谗版宇省在科学计算中的应用3在科学计算中的应用3108 E N D袭递修品宇廖舰赏旺畅注解炸晌绅古厘倒命颊鳞净奇燕俐刑卜瞄惺体皑钎在科学计算中的应用3在科学计算中的应用3109

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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