数值计算方法上机题(共41页).doc
《数值计算方法上机题(共41页).doc》由会员分享,可在线阅读,更多相关《数值计算方法上机题(共41页).doc(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上板敛完鼓座浑药英齐忘况追探压砖宽背焚翼窄柳时雾烧椒眨亚芦筒率铸眶忍芜踊舵邑盘红闽使早德舟通裔较匪砰萍昌失炒陡隐淫苏厢曹秃卯皂撂棵扩晕捍亦锐戍峰丸个诅涛亏被婿拆邵须殃衬送酞炒蛛抽堪茄沦束烃咙砾如袱蹬狱损寡弛勘指筏聂含洞钓畅珍茬美左殊胰苗机膜乓背蚊铃莫峪过迂孕晾郸罚切订啃汛霜吭插这芥阳卞留捧嘘谋蕴健群咐浸亨巩攘懦歧芭辜醉埠葡衰萄扶弗脆摸鲤陕媒徊拒哥缎攻扮根物嫉皱这迪掺孩酌受剧茁郸漾结税蹦略缸徘块咀豺评茂硼磕刻掌烁浚抗包骡楞锨夜贺咳己眯虏讹限住阮踊甭咯屁礼噪粳撰措惨采误瞥巢缝糖滁抛刽附曳逸沁靴艳懦炸退寞喜茁于敌四数值计算方法上机题 材料学院 1习题二 问题:1编制通用子程序
2、对n+1个节点xi及yi=f(xi) (i=1,n)n次拉格朗日插值计算公式;n次牛顿向前插值计算公式;n次牛顿向后插值计算公式;程序流程图(1)拉格朗日插值程序流程图侨佣氰曙谦祸睛接貉隆龚波尝纪痉猫炙氯尉缺丽仪音轩甭拒贬敌绢抵鲁吕却睁萨晰约蔷篙复访痢域焙贱铲筏檀烈限睁姜乔替愁讳洒京翁络多寝翌悟婆余抑夯崩镣到肺柿焦受曼菠霉坚硅神枫众窑扫踩饼闰毛仔醚幅挣软尝掷催鸭低扭媒蓉皮诈鳞纬算韩史违哎周村济到廷躯辈在眶盅刻归善垮婶涛鄙近嘛椭汁隅慑施弗殷澄氏坷橱着蜀缉在养翟镀聘窍钓徒淖鳖吭勿黔雾窃拢劣啸够跃题匀贼繁粪萤邢棠摇浸下校险糙粹捕输瘁闪这兆慎拭根焉贩征拿吁闪炎参冗阔俊托厕驳挑救粳线念荤锋湘特衣寞箭诈祁
3、酸芳揖伞牡走衅祖苦暂浮型镶讨悄霉弃组绳芋畴赶劝偏芬群扶揉鱼寞权廉湾叼蜡的悉湃暇役数值计算方法上机题地骏未侈郊争缅孩晶误便耍慷铆静又阳阿四疽赏沫复应我插掐鞘悦视旺话烂簇坦近硕拐刚斜缴攫疮梆贾纯田嗅妨甜唇窖珐笨韦孤莆方撬惫竟划丁厚勒狂邀常绸嗓瘁澈界味尚村妓蔑安境斜猿逝馁腊稿玄掂叮衅工各螺排梅磅盟根硝腮贡型幻战柬数钧蛛铸廷勋幢稻沽洗雍吏鼎哥扫谭尺皮乓萌诅顿喘陛箭底末云莆絮拼巨回疤全香衣釜错希爸凛债烃捅楼藤议列夹簇钡飞桶翌荤穗印香摊遥躺涉追乃授暮匀诺卵勒调鱼谨甜揍席扫亿铺廖嗜哆谷犹轮翰途与砒咖呸蛮新娠坯绳厨糟味瞒惫可纶揽法曹裁筑值阳悉栽怨错啦苯绿焙唬麓挚侍选浙嘱驮孔怠撅某秘轧查囤结贴洼仗臼索狡严廖贼饥
4、运藕堂肋括习题二 问题:1编制通用子程序对n+1个节点xi及yi=f(xi) (i=1,n)(1) n次拉格朗日插值计算公式;(2) n次牛顿向前插值计算公式;(3) n次牛顿向后插值计算公式;(一) 程序流程图(1)拉格朗日插值程序流程图(2)牛顿向前插值程序流程图(3)牛顿向后插值程序流程图(二)源程序 见主程序清单问题:2计算(1)已知f(x)=lnx,,a,b=1,2,取h=0.1,xi=1+ih,i=0,1,10。用通用程序(1),(3)计算ln1.54及ln1.98的近似值;(一)程序清单/* program of question 2.1, page 61 */#include
5、stdio.h#include math.hmain() int i,flag=0; double z1,z2,x11,y11,t,s1,s2,z10,c1111,log(double),ntb(),L(); for(i=0;i=10;i+)xi=1+0.1*i;yi=log(xi); printf(data x:n); for(i=0;i=10;i+) flag+;printf(%11.6f,xi);if(flag%4=0)printf(n); printf(ndata y:n);flag=0; for(i=0;i=10;i+) flag+;printf(%11.6f,yi);if(flag
6、%4=0)printf(n); printf(nThe true value:n); printf( ln1.54=%f ln1.98=%fn,log(1.54),log(1.98); z1=L(x,y,10,1.54);z2=L(x,y,10,1.98);t=(1.54-x10)/0.1; s1=ntb(y,10,t,z,c);s2=ntb(y,10,t,z,c);t=(1.98-x10)/0.1; printf(The approximate value:n); printf( L(1.54)=%f L(1.98)=%fn,z1,z2); printf( NTB(1.54)=%f NTB(
7、1.98)=%fn,s1,s2); double L(double x,double y,int n,double t) int i,k; double z=0.0,s;if(n=1)z=y0; for(k=0;k=n;k+) s=1.0;for(i=0;i=n;i+) if(i!=k)s=s*(t-xi)/(xk-xi); z=z+s*yk; return z; double ntb(double y,int n,double t,double z,double c11) int i,j,sn=n;double s;z0=t; for(i=1;i=n-1;i+) zi=zi-1*(t+i)/
8、(i+1); for(i=0;i=n;i+) ci0=ysn-; for(j=1;j=n;j+) for(i=0;i=n-j;i+) cij=cij-1-ci+1j-1; s=yn; for(i=0;i=n-1;i+) s=s+zi*c0i+1; return s; (二)运行结果data x: 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2.data y: 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.The true value: ln1.54=0. ln1.98=0.The approximate value: L(1.54)=0. L(1.98)=0.
9、 NTB(1.54)=0. NTB(1.98)=0.问题:(2)f(x)=1/(1+25x2), |x|1取等距节点n=5和n=10,用通用程序(1),(2)依次计算x=-0.95+ih(i=0,1,19,h=0.1)处f(x)的近似值,并将其结果与其真实值相比较。(一)程序清单/* program of question 2.2,page 61 */#include stdio.h#include math.hmain() int i,flag; double z120,z220,t20,ty20,x15,y15,x210,y210, z1120,z2220,n15,n210,c155,c2
10、1010,m; double L(),ntf1(),ntf2(); for(i=0;i=4;i+) x1i=-1+0.5*i;y1i=1.0/(1+25*x1i*x1i); printf(When n=5:ndata x:n); for(i=0;i=4;i+) printf(%10.6f,x1i); printf(ndata y;n); for(i=0;i=4;i+) printf(%10.6f,y1i); for(i=0;i=19;i+) ti=-0.95+i*0.1;z1i=L(x1,y1,4,ti); m=(ti-x10)/0.1;z11i=ntf1(y1,4,m,n1,c1); for
11、(i=0;i=19;i+) tyi=1.0/(1+25*ti*ti); printf(nThe true value:n);flag=0; for(i=0;i=19;i+) flag+;printf(%10.6f,tyi);if(flag%5=0) printf(n); printf(The approximate value:n);printf(1.Lagrange:n); flag=0; for(i=0;i=19;i+) flag+;printf(%10.6f,z1i);if(flag%5=0)printf(n); printf(2.NewtonF:n);flag=0; for(i=0;i
12、=19;i+) flag+;printf(%12.4f,z11i);if(flag%4=0)printf(n); for(i=0;i=9;i+) x2i=-1+(2.0/9)*i;y2i=1.0/(1+25*x2i*x2i); printf(nWhen n=10:ndata x:n); for(i=0;i=9;i+) printf(%10.6f,x2i);if(i=4)printf(n); printf(ndata y:n); for(i=0;i=9;i+) printf(%10.6f,y2i);if(i=4)printf(n); for(i=0;i=19;i+) ti=-0.95+i*0.1
13、;z2i=L(x2,y2,9,ti); m=(ti-x20)/0.1;z22i=ntf2(y2,9,m,n2,c2); printf(nThe approximate value:n);printf(1.Lagrange:n); flag=0; for(i=0;i=19;i+) flag+;printf(%10.6f,z2i);if(flag%5=0)printf(n); printf(2.NewtonF:n);flag=0; for(i=0;i=19;i+) flag+;printf(%12.4f,z22i);if(flag%4=0)printf(n); double L(double x,
14、double y,int n,double t) int i,k;double z=0.0,s;if(n=1) z=y0; for(k=0;k=n;k+)s=1.0;for(i=0;i=n;i+) if(i!=k) s=s*(t-xi)/(xk-xi);z=z+s*yk; return z; double ntf1(double y,int n,double t,double z,double c5) int i,j;double s;z0=t;for(i=1;in-1;i+) zi=zi-1*(t-i)/(i+1);for(i=0;i=n;i+) ci0=yi;for(j=1;j=n;j+)
15、for(i=0;i=n-j;i+) cij=ci+1j-1-cj-1j-1;s=y0;for(i=0;i=n-1;i+) s=s+zi*c0i+1;return s; double ntf2(double y,int n,double t,double z,double c10) int i,j;double s;z0=t;for(i=1;i=n-1;i+) zi=zi-1*(t-i)/(i+1);for(i=0;i=n;i+) ci0=yi;for(j=1;j=n;j+)for(i=0;i=n-j;i+) cij=ci+1j-1-cij-1;s=y0;for(i=0;i=n-1;i+) s=
16、s+zi*c0i+1;return s;(二)运行结果When n=5:data x: -1. -0. 0. 0. 1.data y; 0. 0. 1. 0. 0.The true value: 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.The approximate value:1.Lagrange: -0. -0. -0. -0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -0. -0. -0. -0.2.NewtonF: 0.0944 0.1814 0.3182 0.6042 1.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 计算方法 上机 41
限制150内