资源描述:
《数值分析考试复习题 附录:matlab函数 》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、模式识别_周晓勇_Z201102021附录:函数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionp=newpoly(x,y,n,x0)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%p=newpoly(x,y,n)%(x,y)为节点坐标%p为所求的的差值多项式的系数向量%n为牛顿插值次数,n=1时为线性插值,n=2时为二次插值...N=length(x);d=[x;y];ifnargin==4fori=1:N%根据插值
2、误差估计式(根据距x0的远近)重新排列插值节点forj=i+1:Nifabs(d(1,i)-x0)>abs(d(1,j)-x0)t=d(:,i);d(:,i)=d(:,j);d(:,j)=t;endendendenddq=zeros(n+1,n+2);dq(:,1)=d(1,1:n+1)';dq(:,2)=d(2,1:n+1)';fori=2:n+1forj=3:i+1dq(i,j)=(dq(i,j-1)-dq(i-1,j-1))/(dq(i,1)-dq(i-j+2,1));%差商表endends=diag(dq(2:end,
3、3:end))';p=dq(1,2);t=1;fori=1:nt=conv(t,[1-dq(i,1)]);p=polysum(p,s(i).*t);%函数见polysum.mend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function[x,k,flag]=SOR(A,b,delta,w,step)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%函数格式:[x,k,flag]=SOR(A,b,delta,w,step)%A为方
4、程组的系数矩阵%b为方程组右端项10模式识别_周晓勇_Z201102021%delta为精度要求%step为最大迭代次数,缺省值为100%w为松弛因子,w<1时为低松弛法,w>1时为超松弛法,w=1时为高斯-塞德尔迭代%x为方程组的解%k为迭代次数%flag为收敛标志ifnargin<5step=100;endifnargin<4w=1;endifnargin<3ep=1e-5;endn=length(A);k=0;x=zeros(n,1);flag=1;while1y=x;fori=1:nz=b(i);forj=1:nifj
5、~=iz=z-A(i,j)*x(j);endendifabs(A(i,i))<1e-10
6、
7、k==stepflag=0;return;endz=z/A(i,i);x(i)=(1-w)*x(i)+w*z;endifnorm(y-x,inf)8、%%%%%%%y=GaussLegendre(func,a,b,n)%func:被积函数表达式,例如'x.^2.*cos(x)'%a:积分下限%b:积分上限%n:节点数xTable=[...0.0NaN0000;10模式识别_周晓勇_Z2011020210.5773503-0.57735030000;0.7745967-0.77459670.0000;0.8611363-0.86113630.3399810-0.339981000;0.9061798-0.90617980.5384693-0.53846930.00;0.932
9、4685-0.93246850.6612094-0.66120940.2386192-0.2386192;];ATable=[...2.000000;1.01.00000;0.55555560.55555560.8888889000;0.34785480.34785480.65214520.652145200;0.23692690.23692690.47862870.47862870.56888890;0.17132450.17132450.36076160.36076160.46791390.4679139;];f=inli
10、ne(func);x=xTable(n,:);A=ATable(n,:);T=zeros(1,n);T=(a+b)/2+(b-a)/2*x;y=(b-a)/2*sum(A.*feval(f,T));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%