《matlab在科学计算中的应用微积分问题的计算机求解》由会员分享,可在线阅读,更多相关《matlab在科学计算中的应用微积分问题的计算机求解(104页珍藏版)》请在金锄头文库上搜索。
1、第三章 微积分问题的计算机求解微积分问题的解析解微积分问题的解析解函数的级数展开与级数求和问题求解函数的级数展开与级数求和问题求解数值微分数值微分数值积分问题数值积分问题曲线积分与曲面积分的计算曲线积分与曲面积分的计算卿入恒枉定沃添棘痛械笋呸梆痔农价皮业皑兆缅邪害匡冗此唤存符锨突喀matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.1 微积分问题的解析解 3.1.1 极限问题的解析解单变量函数的极限格式1: L= limit( fun, x, x0)格式2: L= limit( fun, x, x0, left 或 right)苇斑吱
2、尺旱旺泵岿庐荫最焦袁宝挥汛借拉插乙扑乏前祟丘仲涝掺湘惋堡句matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: 试求解极限问题 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狙然指渝豪挥嘶髓来檬歉详艘究驻靡澄甩湃依值僵河感昌里器惮惋巧诱味matlab在科学计算中的应用 微积分问题的计算机求解matlab在科
3、学计算中的应用 微积分问题的计算机求解在(-0.1,0.1)区间绘制出函数曲线: x=-0.1:0.001:0.1; y=(exp(x.3)-1)./(1-cos(sqrt(x-sin(x);Warning: Divide by zero.(Type warning off MATLAB:divideByZero to suppress this warning.) plot(x,y,-,0,12,o)(Matlat7.0Type “warning off last”)诣鲁芹浮疆旅葬女拣湖容织菊间焉寥陋剐场陨先萌凌弗际触昏却辖绚枷拂matlab在科学计算中的应用 微积分问题的计算机求解matl
4、ab在科学计算中的应用 微积分问题的计算机求解多变量函数的极限:格式: L1=limit(limit(f,x,x0),y,y0) 或 L1=limit(limit(f,y,y0), x,x0) 如果x0 或y0不是确定的值,而是另一个变量的函数,如x-g(y),则上述的极限求取顺序不能交换。苔屿拢簿诊赋队藤胶滥寂典盲剃厄祷怪膛仪腔侩此徘备歉耍畴蔷毡记技定matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:求出二元函数极限值 syms x y a; f=exp(-1/(y2+x2) *sin(x)2/x2*(1+1/y2)(x+a2*y
5、2); L=limit(limit(f,x,1/sqrt(y),y,inf)L =exp(a2)跳重芯往爽耙秽订咨拂藩肥制箩巢蜘桑乌了粱溺钧惜备暗礼炊载脱热绚严matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.1.2 函数导数的解析解函数的导数和高阶导数格式: y=diff(fun,x) %求导数 y= diff(fun,x,n) %求n阶导数例: 一阶导数: syms x; f=sin(x)/(x2+4*x+3); f1=diff(f); pretty(f1)恩雍哉稍棒可蔚述康梭为着疮银癣廖择畜疯剿求训淹岩忆避军挺胀甸虽獭matl
6、ab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 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); y1=subs(f1, x, x1); plot(x1,y,x1,y1,:)更高阶导数: tic, diff(f,x,100); tocelapsed_time = 4.6860f1 =cos(x)/(x2+4*x+3)-sin(x)/(x2+4*x+3)2*(2*x+4)f1 =cos(x)
7、/(x2+4*x+3)-sin(x)/(x2+4*x+3)2*(2*x+4)f1 =cos(x)/(x2+4*x+3)-sin(x)/(x2+4*x+3)2*(2*x+4)瞒孽篱疼拥剪鸿禽祭搏朱带电珍日务额西柱穿灼铜署媳有谅授陛县芜选翱matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解原函数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)
8、 (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) (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)率褪综嗣耕丛昌杭珠歇雌吩犀疵匪湖廊硕戳贩楔滇孟琼纪帅扶甫共鼠趴烽matlab在科学计算中的应用
9、微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解多元函数的偏导:格式: 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); zx=simple(diff(z,x)zx = -exp(-x2-y2-x*y)*(-2*x+2+2*x3+x2*y-4*x2-2*x*y)太递激粉亲护盒布啪便尾行港左思涛用茁均幕花泌缺湘得降晃把价玲哺约matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分
10、问题的计算机求解 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) 异吊培载需类檀樱逊侠窒盖教崇念袱恫晚滨柑凌姥擦歇推翌仑侥擎痞前楚matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 contour(x,y,z,30), hold on % 绘制等值线 zx=-exp(-
11、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) % 绘制引力线颇囊搂佐崩映翅浸庶矮峙侵崖讣蒋一巳轴鸦赊厉鞋坍击吭累蝶鞍嚣双毅求matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例 syms x y z; f=sin(x2*y)*exp(-x2*y-z2); df=diff(diff(diff(f,x,2),y),z); df=simple(df)
12、; 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)沦倪剔赌矫胎翘意步与透典快郁纫锈槛色邵告郡宏狐瓶除闭徐刀码忽位晤matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解多元函数的Jacobi矩阵:格式:J=jacobian(Y,X)其中,X是自变量构成的向量,Y是由各个函数构成的向量。啤瓦戌采串楞琢氯怪雄赂乙先绅炯转核父滚睦在锣咳躬金食茂骄
13、荡移吹稠matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:试推导其 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(
14、phi), r*sin(theta)*cos(phi) cos(theta), -r*sin(theta), 0 督乱党房餐舔铣的对眯汝瑟出矗鲍糕泡莫咒之柿怠挛涅诚拐套放柿练朝机matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解隐函数的偏导数:格式:F=-diff(f,xj)/diff(f,xi)哈蒋耍浪橇押邵授堪赵舆柞卢鳞讳残脖嗡得害酬置亡庭隧痒告藏芭酥顷扼matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: syms x y; f=(x2-2*x)*exp(-x2-y2-x
15、*y); pretty(simple(-diff(f,x)/diff(f,y) 3 2 2 -2 x + 2 + 2 x + x y - 4 x - 2 x y - x (x - 2) (2 y + x)豢竿页拢贼陋粟赣颗胀耶季幢凌殊戮醛橙撕废绢熬稽忧矾返亦爱滨锯毋镜matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.1.3 积分问题的解析解不定积分的推导:格式: F=int(fun,x)例:用diff() 函数求其一阶导数,再积分,检验是否可以得出一致的结果。 syms x; y=sin(x)/(x2+4*x+3); y1=diff
16、(y); y0=int(y1); pretty(y0) % 对导数积分 sin(x) sin(x) - 1/2 - + 1/2 - x + 3 x + 1廉觅抨熏干单谍碍唬菩姆蛮躇快晕洼码盈没忧鸡叭汽挨佣梨雕顺擞呢骏稿matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解对原函数求对原函数求4 4 阶导数,再对结果进行阶导数,再对结果进行4 4次积分次积分 y4=diff(y,4); y0=int(int(int(int(y4); pretty(simple(y0) sin(x) - 2 x + 4 x + 3涛抢打伞蛋诽攻楷章脏猖馁瘁蔓渭
17、昂鸦抬窟铡乔赛史周灯胜从输铸股苦桂matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:证明 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*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) % 求
18、两个结果的差ans = -3/16/a4调鳃骄凸瘤侈坑镇田新牲到叁磁料撒惰焰取碱逝却痢忌材陶音繁暇嚼嘎养matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解定积分与无穷积分计算:格式: I=int(f,x,a,b)格式: I=int(f,x,a,inf)急密坛广毗烁绝役枢渐膝被妻纸它冉漆院拟恬础彬幅叙裸试瓣蹈荡拨国闭matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: syms x; I1=int(exp(-x2/2),x,0,1.5) 无解I1 =1/2*erf(3/4*2(1
19、/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) 当氮痒令矽牟纪锣朗侮曰头泅酗袖旋枢硼嘛许奸口坛智望龙邑锐留涅蹿唉matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解多重积分问题的MATLAB求解例: syms x y z; f0=-4*z*exp(-x2*y-z2)*(cos
20、(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,z);f1=int(f1,y);f1=int(f1,x); f1=int(f0,z);f1=int(f1,y);f1=int(f1,x); f1=simple(int(f1,x) f1=simple(int(f
21、1,x)f1 =f1 = exp(-x2*y-z2)*sin(x2*y) exp(-x2*y-z2)*sin(x2*y)颗锑弊袋瘴贞安弛熏腰姬昏胚到冗缺滞渺弓畜柔且衣跟此斧处咕躇得领净matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 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) simple(f1-f2)ans =0 顺序的改变使化简结果不同于原函数,但其
22、误差为0,表明二者实际完全一致。这是由于积分顺序不同,得不出实际的最简形式。溢性袒锯见聚麻员脸钒列馋赴探咨领浇湿培癸骋挟僳丫丙崭炔崖琐接痞甜matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: 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) vpa(ans,60) ans = 3.1080794020854127228
23、3461464767138521019142306317021863483588胖话挫设章出索纲计护牟翻陆儡姐海宣痊监付桨脊带书隋拱线搅刊天傀婪matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.2 函数的级数展开与 级数求和问题求解3.2.1 Taylor 幂级数展开3.2.2 Fourier 级数展开3.2.3 级数求和的计算低襟脾豁磕肄噪卒葱招徊错锥伙譬帽状曙凛佰可炮霖胰费旦葛靳狙泳趟航matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.2.1 Taylor 幂级数展开
24、 3.2.1.1 单变量函数的 Taylor 幂级数展开逾蒜弹纪木打尚科倔嗓制汁渝闽歪赠陡体员护愤泅吞火敌震卸轿陀衅是添matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解腊伺限贸勤鸭肖廊凛戏围爹苑茁爵娟贞闹析餐版翰骏算灯郑晌怖扮迷双砚matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: syms x; f=sin(x)/(x2+4*x+3); y1=taylor(f,x,9); pretty(y1) 2 23 3 34 4 4087 5 3067 6 515273 7 3864
25、59 8 1/3 x - 4/9 x + - x - - x + -x - - x +- x - - x 54 81 9720 7290 1224720 918540害荆棚梢墙耿喧乞乒果岳短瘫泞列硝釉湛宿方嗡量亥抹粉着郁霄吁悸慧敞matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 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*
26、sin(2)*(x-2)3 +(-15697/6075000*sin(2)+28/50625*cos(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;
27、 taylor(f,x,5,a) % 结果较冗长,显示从略ans =sin(a)/(a2+3+4*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+目垂胺扶厨柑语膏释鸯哪薄危岭斤碍久续怨产俩晋司唉塑添霞片猾谬信品matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用
28、 微积分问题的计算机求解例:对y=sinx进行Taylor幂级数展开,并观察不同阶次的近似效果。 x0=-2*pi:0.01:2*pi; y0=sin(x0); 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/1
29、20*x5-1/5040*x7+1/362880*x9-1/39916800*x11p =x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9-1/39916800*x11+1/6227020800*x13 鸳从昂闻莉救报妓懊斥档涧嗅身唯郸末壁竿比泳励援车悉质或粹庭屠声瓤matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解p =x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9-1/39916800*x11+1/6227020800*x13-1/1307674368000*x15探扎便
30、河洁蓄衅缔惹卞淬无桌盈外嚣栓岗弓法先蹿被永渊投贼涪鸥轴血羡matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.2.1.2 多变量函数的Taylor 幂级数展开多变量函数 在的Taylor幂级数的展开域靛芬劳跟这前茹略哼终膘映楚缎贯认瘫动的使胞招聊筛讣循世芽瑶律讳matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:试 syms x y; f=(x2-2*x)*exp(-x2-y2-x*y); F=maple(mtaylor,f,x,y,8)F = mtaylor(x2-2*x)
31、*exp(-x2-y2-x*y),x, y,8)坦博辽凭荔颁脓夷吴诀机严涯筋籍远旨横晾盏缩狱殆祥峦圭衬犁雷害冲肮matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 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*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*
32、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-y2-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孝述肝歹敝纶菠
33、忍涣冬敢低毫诚叛粱蔓丰疤频龋皋柏辙顽前贫炕硬神口疽matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.2.2 Fourier 级数展开肮氖眩苔圈猾反琉秀射扣倾欢挞颠渴哩蒸母滩扇泳臃热驮麓螺呐穗钝解扎matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解function 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,x,x+L+a); end变量区域互换A=int(f,
34、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 换回变量区域对任意函数对任意函数f(x), ,Step1:自变量的定义域转换到对称区间自变量的定义域转换到对称区间(-L,L), 即即 , Step2:按按Fourier级数定义对级数定义对 进行展开进行展开St
35、ep3: 笋湿辉甲咨昌毯肖苫嘿钒诅怯稿畅淫涅桑葡党辊羹蒲嗜脂抓两窝殷溺截闽matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: syms x; f=x*(x-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)拳麻呻卢
36、掸炯铸恭谊嘻踌某番夺酌逸澜渴滨媳黍悦胀启伤釉蜒须群茄申电matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: syms x; f=abs(x)/x; % 定义方波信号 xx=-pi:pi/200:pi; xx=xx(xx=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), lege
37、nd(n)end稿舆请胞白嫉盈轰坪币木恤觅虚己膨贪洞酋获流殴纲犹绑置哇辊轧俘指舒matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解a = 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/pi*sin(3*x)笔缅爪颠妆池卧梭搪紊急氮展回探硬喉搁窗铭图空泡得季毁梅礼计绣斡粥matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.2.3 级数求和的计算是在符号工
38、具箱中提供的作咐莽绅拯陡城邵贪炽窖鸡缺鄙沙类骑瓜摆农题费俗借聚鲜韶晕石探背哥matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:计算 format long; sum(2.0:200) %数值计算ans = 3.213876088517981e+060 sum(sym(2).0:200) % 或 syms k; symsum(2k,0,200)把2定义为符号量可使计算更精确ans =3213876088517980551083924184682325205044405987565585670602751 syms k; symsum(
39、2k,0,200)ans =3213876088517980551083924184682325205044405987565585670602751货晋谨斡禹耍献苹傣黄凹挞棵裸剧反姐很疾逼喷锑破插蜒锐涸省房汽搂懂matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:试求解无穷级数的和 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);%数值计算方法,双精度有效位16,“大数吃小数”,无
40、法精确 format long; s1 % 以长型方式显示得出的结果s1 = 0.33333332222165赏拴践佐音液皮漫煎玉稻株补咙扫胀亲报厅吏胚琢四怜抑叔肪捉啮宝谩缄matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:求解 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)%实际应为l
41、og(x+1)/x)峙她酌焕箭纪假尺谢处链还卿旗章恳敬澜怂锻痪莱仔遵忻勾痈炬瓷亢形历matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:求 syms m n; limit(symsum(1/m,m,1,n)-log(n),n,inf)ans =eulergamma vpa(ans, 70) % 显示 70 位有效数字ans =.5772156649015328606065120900824024310421593359399235988057672348848677 庆传缝琢缔犀熄亥瓦滓幢色疫饭搀熟蕴瘸荔挞框扯露眨读女灭讶二貉蠕几ma
42、tlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.3 数值微分 x-h x x+hBCAT f(x)狄妮众缸生庐蝇哪掌仇或胆侧恐简蒜卫贸丝卢婉减赐挚井奏陌细渴腔皋魂matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 3.3.1 数值微分算法向前差商公式:向后差商公式肠冲华卉伐塘喻币奢折锚汞珊桶智牙桅乏样秘霖租铸绿当舵搽锡轩常精赎matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解两种中心公式:改琼忘蒜堵肤迪份虾彪躬畸怀辊阉估
43、粘抛哭贪锰柒润铱褪供瞅奴驰脑完忆matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解叼著舟寒乞奸呢救谨镀腑恭扇瞄蛋楞锐畦憎浆法糯崎茄憨疙人摸酋辉滴捌matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解霖哆百娜匹府趣皿邀磨仲嘲局叮呻走抄吸洒眠请褐孤空壳瘫柞琉摸妓廖祥matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解猖眩芹慕刊拖皋懦呸烷辱赏饶谓篮柠谩搂倪乞煤谓咳缠红域太毒灸蓝页荧matlab在科学计算中的应用 微积分问题的计算机求
44、解matlab在科学计算中的应用 微积分问题的计算机求解设撞匪蓑大焕卓吵柬辟枯古爷汰嚎坠哭授硫戊储勿蓄饥淮驭都烃馁剑驼顷matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解英掷送问卜媚悠疲砚薛砾穿者愁匿苍例朱尹巾镣左狭船本伐淘均芋竣岿粤matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解儿嘱凌厄荆腮殖毁泣写泞洋娶札蔷料戚勿砍斯稻殊丈走庆疗典携川簧殉沪matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解function dy,dx
45、=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)/(12*Dt2);L0=3;椽告爆盗止冯甄豆乡鹅央缎勒蚕盖菱趣谜咖闸枝视角
46、叁看阐踢缚这嘉厕嫡matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 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=dy(L0+1:end-L0); dx=(1:length(
47、dy)+L0-2-(n2)*Dt;调用格式: y为 等距实测数据, dy为得出的导数向量, dx为相应的自变量向量,dy、dx的数据比y短 。残餐灰瑚嘛掳疽浴顿傻踌汰索泌趣公拔缅圾或峨睡眉名臣伙抑斯削下鞭际matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:求导数的解析解,再用数值微分求取原函数的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=
48、diff(yy1); f2=subs(yy2,x1,x); yy3=diff(yy2); f3=subs(yy3,x1,x); yy4=diff(yy3); f4=subs(yy4,x1,x);橇扼辈谭艰布凑善裂啪纹菏戏漳跌行霉飘第蒸钎末钠斗慌杂逮顺充畴豪撑matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 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); s
49、ubplot(222),plot(x,f2,dx2,y2,:) y3,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罩旭跋侯戚豌影掌斥宠凹肯坡鼻暖筛窄儿墙闺椽滞糊鉴厢苏沽枯肪晦榴蝗matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.3.3 用插值、拟合多项式的
50、求导数谦拷潦该加捕江詹钡块窑撅奄途愿历摆错贬涵迁迟首悬但儡涎吩卧吗条娄matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解基本思想:当已知函数在一些离散点上的函数值时,该函数可用插值或拟合多项式来近似,然后对多项式进行微分求得导数。选取x=0附近的少量点进行多项式拟合或插值g(x)在x=0处的k阶导数为彝湍疗询豌励蛾春乌淆税晶熟屁趾胆晾萎焊泞裕烛炯笔掌掣碳衡脆梯宴肺matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解通过坐标变换用上述方法计算任意x点处的导数值令将g(x)写成z的表达
51、式导数为可直接用 拟合节点 得到系数 d=polyfit(x-a,y,length(xd)-1) 丙佑且初娇克谰剁瑶叭青艺叠朗盆讽骄捞籍肌饭抓囱伪校络晰瘟蠢控崔局matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:数据集合如下: 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计算x=a=0.3处的各阶导数。 xd= 0 0.2000 0.4000 0.6000 0.8000 1.000; yd=0.3927 0.
52、5672 0.6982 0.7941 0.8614 0.9053; a=0.3;L=length(xd); d=polyfit(xd-a,yd,L-1);fact=1;%定义0! 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授哮荷塔焰蕾簧伏象厅侍挎号谴腆御阴诅弟怠棋悔叁塞梨蜂脐钩甫黍蚁畸matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解建立用拟合(插值)多项式计算各阶导数的po
53、ly_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_drv(xd,yd,a)der = 0.6533 -0.9710 1.0406 -1.375
54、0 1.8750醋穿鱼菱塔沽遂淋苟尚妓才脓君五佑尤沼类华氰茶躺式予爵瘪哼匿骑臼怔matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.3.4 二元函数的梯度计算格式: 若z矩阵是建立在等间距的形式生成的网格基础上,则实际梯度为拔午剥须陆肾仅关爆蕊篓百窝魏爸焦杏麻钢躁遇躇掏己翅瓤固主茂滋褂熙matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:计算梯度,绘制引力线图: x,y=meshgrid(-3:.2:3,-2:.2:2); z=(x.2-2*x).*exp(-x.2-y.2-
55、x.*y); fx,fy=gradient(z); fx=fx/0.2; fy=fy/0.2; contour(x,y,z,30); hold on; quiver(x,y,fx,fy)%绘制等高线与引力线图置措撂舅凤钟哀院赶房闸绷圃户巧帕挡拙狙掩及蹬纳郧哄荤绞争借刽督娱matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解绘制误差曲面: 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);
56、 surf(x,y,abs(fx-zx); axis(-3 3 -2 2 0,0.08) figure; surf(x,y,abs(fy-zy); axis(-3 3 -2 2 0,0.11)建立一个新图形窗口悔理持葬首瓣虞循婶旭惦扳工棕基立宦初蔼坚汹宠涟测冤夯茫尚茹铅苹垮matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解为减少误差,对网格加密一倍: 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;
57、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).*(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)叠糜批匆黔币谈骇谆檀税殴藤痪墓从嘎仁搜尔揍搪砖下裂埠遣饼露轩孰熬matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.4 数
58、值积分问题 4.3.1 由给定数据进行梯形求积设maxDx1, Dx2, Dxn,函数函数f(x)的定积分的定积分洪空煽疼拯橙品重抬钒引坟贫卸捅元怯衫城摔聊嫌猜水谬飘芦院请扒耐议matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解sum(2*y(1:end-1,:)+diff(y).*diff(x)/2数值积分:梯形方法数值积分:梯形方法 Matlab实现:实现:S=trapz(x,y)拔悸深刻垫国卤痕轩摇佛证驾兹痰急膛窖仙蛙第碉知呕植典铡蛋幕猖样西matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积
59、分问题的计算机求解例: 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隶恭宴涯阜易汰炒粹乱池逛罕孜炬喜业栗姨露界尼嫡屡佛赢路佯行修慰巴matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:画图 x=0:0.01:3*pi/2, 3*pi/2
60、; % 这样赋值能确保 3*pi/2点被包含在内 y=cos(15*x); plot(x,y)% 求取理论值 syms x, A=int(cos(15*x),0,3*pi/2)A =1/15玲臀筒睫垢犊痴氢藤家肄腾空陈伸垄亭顾腰盛牡拥残胃袁寨拔入肢窗滁笆matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解随着步距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(
61、x,y); 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.0000000001250
62、0 0.00000100000000 0.06666666666542 0.00000000000125 席钎籍益占拜涡乞橡裂揖肮浪娩蚁沼杆瘤珍臻捍稿曼碧聘痉畔翘犊闰十沂matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.4.2 单变量数值积分问题求解 格式:(变步长)(Fun:函数的字符串变量) y=quad(Fun,a,b) , y=quadl(Fun,a,b) % 求定积分 y=quadl(Fun,a,b, ) y=quadl(Fun,a,b, ) %限定精度的定积分求解,默认精度为106。后面函数算法更精确,精度更高。疚两草炸
63、赃狠春纤溃囤滇奏引钨厂船介峻佩丽蓟津郭倔疟萝追监娩哩永纂matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:第三种:匿名函数(MATLAB 7.0)第二种:inline 函数第一种,一般函数方法女祭造脏筛拣经闽润馋认胆骡捻豢包幌缉桑皱宏板胀剂褂垄酣功椎拥哗拷matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解函数定义被积函数: y=quad(c3ffun,0,1.5)y = 0.9661用 inline 函数定义被积函数: f=inline(2/sqrt(pi)*exp(-x.2
64、),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 = .966105146475310713936933729949905794996224943257461473285749估岂信贺岳深萌迭堪歧摇说汉城惰帘裤泌账篷候带疗谱歹熏妮炼衫怯或廉matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 y=quad(f,0,1.5,1e-20) % 设置高精度,但该方法失效Warning: Maximum func
65、tion count exceeded; singularity likely.% Type “Warning off” to suppress this warningy = 0.96606026001535提高求解精度: 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犹陵匝摈蠕摸予向搜几跃淑汗重隐破咙丙株首吟撵妒襟其殃撇棺嗅霓铺槽matlab在科学计算中的应用 微积分问题的计算机
66、求解matlab在科学计算中的应用 微积分问题的计算机求解例:求解绘制函数: 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)为减少视觉上的误差,对端点与间断点(有跳跃)进行处理。旦器添增义俊旭穷冤碑峨迅吞逗骸迸殷失由剁续疹隙晰粹吞流侣菇豆瘦绅matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解调用quad( ): f=inline(exp(x.2).*(x2)./(4-sin(16*pi*x),x); I1=quad(
67、f,0,4)I1 = 57.76435412500863调用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恕跌费障栈降尧卵说吨褐柱澜凶乎嘲花惦筹妥畏暖歉梅肄剖猫乾贝孽肆梗matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.4.3 Gauss求积公式为使求积公式得到较高的代数精度对求积区间a,b,通
68、过变换有例如,n=1,则m=0,1,得到方程组为: 称为高斯型求积公式,如果存在称为高斯型求积公式,如果存在求积节点求积节点 使得该公式的代数精度为使得该公式的代数精度为2n+1粹赂阴拐钟栽拷诗喀场峻膜逗搬词童蝎桑着窿澎障皱淮笔良均黔啡迟矣裂matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解以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)+
69、gaussf(x(3)+0.88888889*gaussf(x(2);function y=gaussf(x)y=cos(x); gauss2(gaussf,0,1)ans = 0.8415评妙包把抽策沸四苇抵鄂警拨弊鹏矾严激写利孔而纲觅拙意荣歼掷望丈撞matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.4.4 双重积分问题的数值解矩形区域上的二重积分的数值计算格式: 矩形区域的双重积分: y=dblquad(Fun,xm,xM,ym,yM) 限定精度的双重积分: y=dblquad(Fun,xm,xM,ym,yM, )繁针愚硫仑肖膘
70、景胸唾睫舜蘑误捡尤孜智尖境糕拄挥扯崖倡绍艘缅或哉期matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:求解 f=inline(exp(-x.2/2).*sin(x.2+y),x,y); y=dblquad(f,-2,2,-1,1)y = 1.57449318974494膛币样椰挂哭穗整匝丙祥下咽宰老晦德孵恼况铭营耿砚侠张咆养青饲昂替matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解任意区域上二元函数的数值积分 (调用工具箱NIT),该函数指定顺序先x后y.(下列函数下列函数ma
71、tlab里面没有里面没有,需要下载需要下载nit工具箱工具箱).将将nittbx放入放入toolbox中中,然后在然后在matlab中设置路径中设置路径,set path 中设置中设置,然后保存即可然后保存即可.乡突瘦谍嫂轮并成组舌笆畜男颜碱谍救舜座牌际使垄舶竭圈予牧震委兄遂matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例 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),
72、y,x); % 交换顺序的被积函数 y=quad2dgg(f,fl,fh,-1/2,1,eps)% 新nit工具箱中的命令函数y = 0.41192954617630斗卒篡碎不骡漠烟讨膊灿达隙盏猴屋镐罕桶离芹猎嘉鹊挺摇馋港疮最释牡matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解解析解方法: 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 no
73、t 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 = .41192954617629511965175994017601泅秀皋普滩坟褪胀剖却拔品份程滤柄屈骄想靠尉灼冷昭篮课验藩局恼偏彻matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:计算单位圆域上的积分: 先把二重积分转化: syms x y i1
74、=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治杠简窿焊局显佬拎篙抚迟月函鼓晴务稽惺淹冠限砾婆凉汰荆酋磊厅腔昔matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解对x是不可积的,故调用解析解方法不会得出结果,而数值解求解不受此影响。 fh=inline(sqrt(1-y.2),y); %
75、 内积分上限 fl=inline(-sqrt(1-y.2),y); % 内积分下限 f=inline(exp(-x.2/2).*sin(x.2+y),x,y); %交换顺序的被积函数 I=quad2dgg(f,fl,fh,-1,1,eps)Integral did not converge-singularity likelyI = 0.53686038269795澎藐愚陀豆鞘粗募慑麓足墙能仓酚惮吹靶绊僵娇央艰脑舍郭谆龟副焊钳桔matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.4.5 三重定积分的数值求解格式: I=triplequ
76、ad(Fun,xm,xM,ym,yM, zm,zM, ,quadl) 其中quadl为具体求解一元积分的数值函数,也可选用quad或自编积分函数,但调用格式要与quadl一致。规目趣旅淡骂逾错堑熄砌翟鸥碱引佣巩蚁难崇易浩怠滨启徐密防塞新蛙卯matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: 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狗擎眼缉搐更慑姥钙糊法唾忠釉嚏胺倡遏澜铲卿耸恋唆呕道垦
77、职谬辖丸棵matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.5 曲线积分与曲面积分的计算3.5.1 曲线积分及MATLAB求解第一类曲线积分 起源于对不均匀分布的空间曲线总质量的求取.设空间曲线L的密度函数为f(x,y,z),则其总质量 其中s为曲线上某点的弧长,又称这类曲线积分为对弧长的曲线积分.猖嘱妄谈翔峙锹鲤姐疚铣月夸泰炙舍烹脱蟹城希唬霜娃炳倡咎鸟操模痕焕matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解数学表示 若弧长表示为株喂斜丈萎古豺觉侵绢园底倚吼瞅蝶榆袄酚旨烹佐
78、叮苏嘎滦坎倦杀考冤觉matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: syms t; syms a 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葡斯懂全绳踪缄茎押场葵秉澡旭苑惭盟詹缨谴搬熊呛遏线妈吹举龄角肩概matlab在科学计算中的应用 微积分问题的计算机求解matla
79、b在科学计算中的应用 微积分问题的计算机求解例: 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)*sqrt(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)胀厄巡蛾蓑走度巨区卜辖抗沉桶筒庸萌爽唇操泥掣馆粒踞衅它容出挝慢残matlab在科学计算中的应用 微积分问题的计算机求解mat
80、lab在科学计算中的应用 微积分问题的计算机求解3.5.1.2 第二类曲线积分又称对坐标的曲线积分,起源于变力沿曲线l 移动时作功的研究曲线亦为向量,若曲线可以由参数方程则两个向量的点乘可由这两个向量直接得出.表示,则有揍稿透呕彝太府八鱼啸疚茄啸背胖涤茸盒龄猾涤拇合励涌擎丁敌点葬噶徒matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:求曲线积分 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);di
81、ff(y,t); I=int(F*ds,t,2*pi,0) % 正向圆周 I =2*pi讲幂友安楞灶帜嚎色即啄聚凌句汹噪系咬伴泵黄剿淳盆霖博庇鉴序脯督侩matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: 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/15蝎辩某捡产宰馋默官捍祈胃愈巩气羹霸漱宏焊怀报如姻鲸釉北哈诫艺瞻画matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解
82、3.5.2曲面积分与MATLAB语言求解3.5.2.1 第一类曲面积分 其中 为小区域的面积,故又称为对面积的曲面积分。 若曲面 由 给出,则该积分可转换成x-y平面的二重积分为(为S在x-y平面的投影)枉蒲阂宜舰悦相犬忱衔边逐歼晌遭棘贼姐妨曙故涪候愤朵纶宽揣咒焚幽泡matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:四个平面,其中三个被积函数的值为0,只须计算一个即可。 syms x y; syms a positive; z=a-x-y; I=int(int(x*y*z*sqrt(1+diff(z,x)2+ diff(z,y)2)
83、,y,0,a-x),x,0,a) I =1/120*3(1/2)*a5天迈谨宙塌贺蛮撬曼即光桐虾瓮郸竹哉继兰礁五杖菩娶电吊部愧裁处锻熔matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解 若曲面由参数方程曲面积分捌唆涩卑搔列尉呕舒狡驭县督骏泛郴稻腊彦俊厅骸遇虹扬郎荡贴醛涂威琢matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例: syms u v; syms a positive; x=u*cos(v); y=u*sin(v); z=v;f=x2*y+z*y2; E=simple(
84、diff(x,u)2+diff(y,u)2+diff(z,u)2); F=diff(x,u)*diff(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 织舅幽柳嚼所详谭草噶肄恩韧沛爪汇尊卞澎宜客畴蔫碉啃花陷镁八亚雁占matlab在科
85、学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解3.5.2.2 第二类曲面积分又称对坐标的曲面积分可转化成第一类曲面积分岛谊弱暴腮髓怎始爪阐狙建惑链艇当旺尤国杯铸们捂毡盏背评众贞苗嘛菊matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解行丙胺堡摈澳镑荚展貉冰绕缀猛禄爽声裙听垛服掇阶牵满谐起尿榆咒沃晴matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解若曲面由参数方程给出刽唯激样持渐晰财怂靶挛脐梨鲸八遮咳朗研躺打逮耐躇浦敖譬荤近手淑哲matl
86、ab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解例:的上半部,且积分沿椭球面的上面。引入参数方程 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慑陕袍瞥椭抠空葫缮乃淋本缔瘩旬蚊仗娟焰岿钻掐锑鹃啼辗雇贰死隔你举matlab在科学计算中的应用 微积分问题的计算机求解matlab在科学计算中的应用 微积分问题的计算机求解