您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数值分析第二次上机作业
数值分析第二次上机作业一、切比雪夫零点插值多项式1、Matlab程序clcclearallN=20;%等分段数%插值点j=1:N+1;x0(j)=cos((2*j-1)*pi/(2*N+2));f_x=1./(1+25*x0.^2);%插值点函数值F(:,1)=f_x;%矩阵F用来存储函数值及差商fori=1:N;%循环用于计算各阶差商forn=1:length(F(:,i))-i;F(n,i+1)=(F(n+1,i)-F(n,i))/(x0(n+i)-x0(n));endendsymsxfactor;factor(1)=1;%数组factor用于存放newton法的各个因式,第一项为1forj=2:N+1;%循环用于计算newton法的各个因式factor(j)=factor(j-1)*(x-x0(j-1));endP_x=0;%P_x即为插值多项式,给其赋初值0fork=1:N+1;%计算P_xP(k)=F(1,k)*factor(k);P_x=P_x+P(k);end%分别作插值多项式P_x与原函数f_x的图像x=linspace(-1,1,81);P_x_value=eval(P_x);f_x_value=1./(1+25*x.^2);figure(1);plot(x,P_x_value,'r',x,f_x_value,'b');legend('Pn(x)','f(x)')title('n=20时切比雪夫零点插值多项式与原函数图像');xlabel('x');ylabel('y');gridon;2、程序运行结果从图中可以看出,切比雪夫零点插值多项式图像与原函数图像吻合较好,不存在等分节点插值多项式的龙格现象。二、三次曲线拟合1、Matlab程序%三次曲线有4个待定参数,但给定的拟合点个数多于4个%因此采用最小二乘法求待定系数clcclearalln=10;%区间10等分m=3;%三次曲线拟合symsx;f_x=1./(1+25*x.^2);x=linspace(-1,1,n+1);f_x_v=eval(f_x);x_v=x;symsx;%标准正交基函数fori=1:m+1;fai(i)=x^(i-1);end%计算最小二乘法法方程系数矩阵GG=zeros(m+1);forj=1:m+1;fork=1:m+1;fori=1:n+1;x=x_v(i);G(j,k)=G(j,k)+eval(fai(j))*eval(fai(k));endendend%计算法方程右端dd=zeros(1,4);fori=1:m+1;forj=1:n+1;x=x_v(j);d(i)=d(i)+f_x_v(j)*eval(fai(i));endend%计算三次曲线待定系数aa=inv(G)*d';%三次曲线方程S_xsymsx;S_x=a(1)+a(2)*x+a(3)*x^2+a(4)*x^3;%作出拟合三次曲线图像和原函数图像x=linspace(-1,1,51);S_x_v=eval(S_x);y=eval(f_x);plot(x,S_x_v,'r',x,y,'b')gridonlegend('S(x)','f(x)')title('10等分时三次曲线拟合与原函数图像');xlabel('x');ylabel('y');2、程序运行结果拟合曲线方程:S_x=0.4841-0.5752*x^2拟合曲线方程S_x=0.4841-0.5752*x^2,是二次曲线;从图中可以看出此二次曲线对原函数曲线的拟合很差,不能反映原函数的特性。与三次样条的分段三次拟合相比,尽管采用了最小二乘法,但用一条三次曲线拟合函数在整个区间上的图形的效果很差。
本文标题:数值分析第二次上机作业
链接地址:https://www.777doc.com/doc-2387515 .html