数值逼近课程设计

上传人:ji****72 文档编号:27375768 上传时间:2018-01-09 格式:DOC 页数:7 大小:89.50KB
返回 下载 相关 举报
数值逼近课程设计_第1页
第1页 / 共7页
数值逼近课程设计_第2页
第2页 / 共7页
数值逼近课程设计_第3页
第3页 / 共7页
数值逼近课程设计_第4页
第4页 / 共7页
数值逼近课程设计_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数值逼近课程设计》由会员分享,可在线阅读,更多相关《数值逼近课程设计(7页珍藏版)》请在金锄头文库上搜索。

1、数值逼近课程设计报告080710205邱 明 敏作业一多项式插值的 Runge 现象对于 Runge 函数 f(x)= ,在-1,1上作等距节点插值,分别取11+252n=4,n=8,n=12,编出程序,画出此插值的图像。程序代码(matlab实现):lagrange.mfunction y=lagrange(x0,y0,x)ii=1:length(x0);y=zeros(size(x);for i=iiij=find(ii=i);y1=1;for j=1:length(ij),y1=y1.*(x-x0(ij(j);endy=y+y1*y0(i)/prod(x0(i)-x0(ij);endru

2、nge.mfunction runge(m1,m2,m3)x1=-1+2*0:m1/m1;y1=1./(1+25*x1.2);x=-1:0.01:1;y4=lagrange(x1,y1,x);x2=-1+2*0:m2/m2;y2=1./(1+25*x2.2);x=-1:0.01:1;y5=lagrange(x2,y2,x);x3=-1+2*0:m3/m3;y3=1./(1+25*x3.2);x=-1:0.01:1;y6=lagrange(x3,y3,x);x=-1:0.01:1;y=1./(1+25*x.2);plot(x,y,k-,x,y4,r-,x,y5,b-.,x,y6,m:)legen

3、d(原函数,n=4,n=8,n=12)三、运行结果(运行过程):输入 runge(4,8,12),可得插值图像:作业二Remez 算法求函数 f(x)= 在-1,1上的二次多项式逼近。参考文献:数值分析算法描述与习题解答(徐士良著)二、程序代码(C 语言实现):#include#includedouble remezf(double x)double y;y=exp(x);return(y);void remez(double a,double b,double p,int n,double eps) int i,j,k,m;double x21,g21,d,t,u,s,xx,x0,h,yy;

4、if(n20) n=20;m=n+1; d=1.0e+35;for(k=0;k=0;i-)t=t*x0+pi;s=fabs(s-t);if(su) u=s; xx=x0;x0=x0+h;s=remezf(xx);t=pn-1;for(i=n-2;i=0;i-)t=t*xx+pi;yy=s-t; i=1; j=n+1;while(j-i)!=1)k=(i+j)/2;if(xx=0;k-)t=t*x0+pk;s=s-t;if(s*yy0.0)x0=xx;else for(k=n-1; k=0; k-)xk+1=xk;x0=xx; elseif(xxxn)s=remezf(xn); t=pn-1;f

5、or(k=n-2;k=0;k-)t=t*xn+pk;s=s-t;if(s*yy0.0)xn=xx;elsefor(k=0;k=0;k-)t=t*xi+pk;s=s-t;if(s*yy0.0) xi=xx;else xj=xx;void main() double a,b,eps,p4;a=-1.0; b=1.0; eps=1.0e-10;remez(a,b,p,3,eps);printf(a0=%en,p0);printf(a1=%en,p1);printf(a2=%en,p2);printf(n);printf(MAX(p-f)=%en,p3);printf(n);三、运行结果及说明: 其中

6、 a0,a1,a2 分别为二次多项式零次,一次,二次的系数。作业三复化公式用复化公式计算积分 。10dxe程序代码(C+实现):#include#include#include#includedouble f(double x) /被积分函数 f(x)return exp(x);int fun(int n)if(n=0)if(n=0)return 1;else return 2*fun(n-1);else exit(0);double T(int n) /复化梯形公式double a=0,b=1,sum=0,h=(b-a)/n;long i;for(i=1;in;i+)sum+=f(a+i*h

7、);sum+=(f(a)+f(b)/2;return (h*sum);double S(int n) /复化 Simpson 公式double Sn;Sn=(4*T(2*n)-T(n)/3;return (Sn);double C(int n) /复化 Cotes 公式double Cn;Cn=(16*S(2*n)-S(n)/15;return (Cn);void main()int i;cout1 复化梯形公式,2 复化Simpson 公式,3 复化 Cotes 公式:n ;for(i=1;i=10;i+)coutfun(i) ;coutsetiosflags(ios:showpoint)setprecision(16);coutT(fun(i) S(fun(i) C(fun(i)endl;三、运行结果及说明:

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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