资源描述:
《数值逼近上机作业3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、sin(pi*x)的2次最佳平方逼近程序代码:%%二次逼近主函数functionS=squar_approx(a,b,n)%全局变量globali;globalj;%判断输入ifnargin<3n=1;end%求方程系数矩阵(基函数内积矩阵)Phi2=zeros(n+1);fori=0:nforj=0:n;Phi2(n-i+1,n-j+1)=quad(@rho_phi,a,b);endend%求方程非齐次项列向量PhiF=zeros(n+1,1);fori=0:nPhiF(n-i+1)=quad(@fun_phi,a,b);end%解方
2、程获得多项式系数S=Phi2PhiF;%给出绘图节点xi=a:(b-a)/100:b;%作图plot(xi,polyval(S,xi),'r:');holdonfplot(@obj,[a,b],'b');legend('逼近多项式','原函数');title('sinpix的二次平方逼近');holdoff%%基函数内积functiony=rho_phi(x)globali;globalj;y=(rho(x).*phi_k(x,i)).*phi_k(x,j);%%基函数与待逼近函数内积functiony=fun_phi(x)global
3、i;y=(rho(x).*phi_k(x,i)).*obj(x);%%外部函数functiony=rho(x)y=1;%%直交函数系functiony=phi_k(x,k)ifk==0y=ones(size(x));elsey=x.^k;end%%待逼近函数functiony=obj(x)y=sin(pi*x);运行结果:二、1/(1+25x2)的2次最佳平方逼近,及其10次拉格朗日插值程序代码:%%二次逼近主函数functionS=squar_approx(a,b,n)%全局变量globali;globalj;%判断输入ifnargin<
4、3n=1;end%求方程系数矩阵(基函数内积矩阵)Phi2=zeros(n+1);fori=0:nforj=0:n;Phi2(n-i+1,n-j+1)=quad(@rho_phi,a,b);endend%求方程非齐次项列向量PhiF=zeros(n+1,1);fori=0:nPhiF(n-i+1)=quad(@fun_phi,a,b);end%解方程获得多项式系数S=Phi2PhiF;%给出绘图节点xi=a:(b-a)/100:b;%作图plot(xi,polyval(S,xi),'r:');holdonfplot(@obj,[a,b],
5、'b');x=a:(b-a)/10:b;y=obj(x);[C,~,~,~]=lagran1(x,y);plot(xi,polyval(C,xi),'m:')legend('±Æ½ü¶àÏîʽ','Ôº¯Êý','10´ÎÀ¸ñÀÊÈÕ²åÖµ');title('1/(1+25x^2)µÄ10À¸ñÀÊÈÕ²åÖµÓë2´Î×î¼Ñƽ·½±Æ½ü±È½Ï');holdoff%%基函数内积functiony=rho_phi(x)globali;globalj;y=(rho(x).*phi_k(x,i)).*phi_k(x,j);%%基函数
6、与待逼近函数内积functiony=fun_phi(x)globali;y=(rho(x).*phi_k(x,i)).*obj(x);%%外部函数functiony=rho(x)y=1;%%直交函数系functiony=phi_k(x,k)ifk==0y=ones(size(x));elsey=x.^k;end%%待逼近函数functiony=obj(x)y=1./(1+25*x.^2);运行结果: