数值分析实验—MATLAB实现..docx
文本预览下载声明
数值分析实验——MATLAB实现姓名 sumnat 学号 2013326600000 班级 13级应用数学2班 指导老师2016年1月一、 插值:拉格朗日插值11、 代码:12、 示例:1二、 函数逼近:最佳平方逼近21、 代码:22、 示例:2三、 数值积分:非反常积分的Romberg算法31、 代码:32、 示例:4四、 数值微分:5点法51、 代码:52、 示例:6五、 常微分方程:四阶龙格库塔及Adams加速法61、 代码:四阶龙格库塔62、 示例:73、 代码:Adams加速法84、 示例:8六、 方程求根:Aitken 迭代91、 代码:92、 示例:10七、 线性方程组直接法:三角分解101、 代码:102、 示例:11八、 线性方程组迭代法:Jacobi法及G-S法121、 代码:Jacobi法122、 示例:123、 代码:G-S法134、 示例:13九、 矩阵的特征值及特征向量:幂法141、 代码:142、 示例:14插值:拉格朗日插值代码:function z=LGIP(x,y)%拉格朗日插值n=size(x);n=n(2);%计算点的个数syms a;u=0;%拉格朗日多项式f=1;%插值基函数for i=1:nfor j=1:nif j==i f=f;else f=f*(a-x(j))/(x(i)-x(j));endend u=u+y(i)*f;f=1;endz=expand(u);%展开示例: x=1:6;y1=x.^5+3*x.^2-6;y2=sin(x)+sqrt(x); f1=LGIP(x,y1)f1 =-6+3*a^2+a^5 %可知多项式吻合得很好 f2=vpa(LGIP(x,y2),3)f2 =.962e-1*a^4+1.38*a+.300*a^2+.504-.436*a^3-.616e-2*a^5函数逼近:最佳平方逼近代码:function z=BestF(u,a,b,n)%最佳平方逼近,用x^i逼近,n为逼近的次数n=n+1;syms xreal;old=findsym(u);u=subs(u,old,x); %将u中变量替换为xf=sym();H=sym();d=sym();for i=1:n %生成函数系 f(1,i)=x^(i-1);endfor i=1:n %生成内积Hfor j=1:n H(i,j)=int(f(1,i)*f(1,j),a,b);endendfor i=1:n %生成内积d d(i,1)=int(f(1,i)*u,a,b);enda=H\d;%解法方程Ha=dz=a*f;示例: syms x f1=sqrt(x); f2=x^5+x^2; f3=exp(x); a=0 ;b=1; BestF(f1,a,b,5)ans =12/143+420/143*x-1120/143*x^2+2016/143*x^3-1800/143*x^4+56/13*x^5 BestF(f2,a,b,5)ans =x^5+x^2 BestF(f3,a,b,5)ans =-566826+208524*exp(1)+6155730*exp(1))*x+(-115830120exp(1))*x^2+(306348840-112699440*exp(1))*x^3+(-342469260+125987400*exp(1))*x^4+(136302012exp(1))*x^5 vpa(ans,3)ans =.1e4-.1e6*x-.1e7*x^3+.1e7*x^4数值积分:非反常积分的Romberg算法代码:function z=IntRom(f,a,b) %Romberg 算法e=1e-10;I{1}=linspace(a,b,2);%1等分I{2}=linspace(a,b,3);%2等分L=setdiff(I{2},I{1});%新得插值点h=b-a;T(1,1)=h/2*sum(subs(f,I{1}));T(2,1)=1/2*T(1,1)+h/2*sum(subs(f,L));T(2,2)=4/3*T(2,1)-1/3*T(1,1);k=2;while abs(T(k,k)-T(k-1,k-1))e %精度要求 k=k+1; I{k}=linspace(a,b,2^(k-1)+1); L=setdiff(I{k},I{k-1});%集合差运算,新得插值点 h=h/2; T(k,1)=1/2*T(k-1,1)+h/2*sum(subs(f,L));%梯形for i=2:k T
显示全部