当前位置:首页 >> 其它 >>

数值分析实习报告


数值分析实习报告

数值分析实习报告



目:

MATLAB 算法实习

学生姓名: 指导教师: 学 学 院: 号: 刘圣军

2016 年 12 月

数值分析实习报告

目录
一、拉格朗日插值法 ................................................................................ 1 二、最小二乘拟合法 ................................................................................ 3 三、高斯求积法 ........................................................................................ 5 四、Gauss 列主元消去法 ......................................................................... 6 五、GS 迭代法.......................................................................................... 8 六、牛顿迭代法 ........................................................................................ 9 七、反幂法 .............................................................................................. 11 八、四阶古典 R_K 法 ............................................................................ 13

数值分析实习报告

一、拉格朗日插值法
例题: 根据下面的数据点求出其拉格朗日插值多项式, 并计算当 x=0.6 时 y 的值。
x y 0.4 -0.916291 0.5 -0.693147 0.7 -0.356675 0.8 -0.223144

1、 建立 M 文件 function f=Language(x,y,x0) syms t ; if(length(x)==length(y)) n=length(x); else disp('x 和 y 的维数不相等!'); return; end f=0.0; for(i=1:n) l=y(i); for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j)); end; for(j=i+1:n) l=l*(t-x(j))/(x(i)-x(j)); end; f=f+l; simplify(f); end f0=subs(f,'t',x0)

1 / 14

数值分析实习报告

2、在命令窗口输入指令并运行:

即: f=25/3*(20633039030814695/2251799813685248*t-20633039030814695/450359962 7370496)*(t-7/10)*(t-4/5)+50/3*(-15608282854564885/2251799813685248*t+312165 6570912977/1125899906842624)*(t-7/10)*(t-4/5)-50*(-14267/12000*t+14267/30000)* (t-1/2)*(t-4/5)+100/3*(-2512378088124905/4503599627370496*t+502475617624981/ 2251799813685248)*(t-1/2)*(t-7/10)

2 / 14

数值分析实习报告

二、最小二乘拟合法
例题:编制以函数

?x ?
k

n k ?0

为基的多项式最小二乘拟合程序,并用于对下列数

据作三次多项式最小二乘拟合(取权函数 wi≡1)
x y 0 -4.447 0.5 -0.452 1.0 0.551 1.5 0.048 2.0 -0.447 2.5 0.549 3.0 4.552

总共有 7 个数据点,令 m=6 1、建立主程序文件 x=0:0.5:3; y=[-4.447,-0.452,0.551,0.048,-0.447,0.549,4.552]; plot(x,y,'*') xlabel 'x 轴' ylabel 'y 轴' title '散点图' hold on

m=6;n=3; A=zeros(n+1); for j=1:n+1 for i=1:n+1 for k=1:m+1 A(j,i)=A(j,i)+x(k)^(j+i-2) end end end;

B=[0 0 0 0]; for j=1:n+1
3 / 14

数值分析实习报告

for i=1:m+1 B(j)=B(j)+y(i)*x(i)^(j-1) end end B=B'; a=inv(A)*B; x=[0:0.0001:3.0]; z=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3; plot(x,z) legend('离散点','y=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3') title '拟合图' 2、 在命令窗口输入指令并运行:

4 / 14

数值分析实习报告

三、高斯求积法

例题:利用高斯求积公式计算积分:

?

1

0

x ln xdx

1、建立M文件 function s=gaussz(a,b,n) h=(b-a)/n; s=0.0; for m=0:(1*n/2-1) s=s+h*(gaussr(a+h*((1-1/sqrt(3))+2*m))+gaussr(a+h*((1+1/sqrt(3))+2*m))); end s; I=int('sin(x)',0,1); c=(I-s)/I; 2、建立M文件 function y=gaussr(x) y=sqrt(x)*log(x); 3、在命令窗口输入指令并运行:

5 / 14

数值分析实习报告

四、Gauss 列主元消去法
2 1 ? ? x1 ? 3 x 2 ? 3 x3 ? 2 ? 11 ?9 x3 ? 2 例题:用 Gauss 列主元消去法解方程组: ? x1 ? x 2 ? 20 20 ? 1 ?2 ? 3 x1 ? 3 x 2 ? x3 ? 2 ?
1、建立 M 文件

function Gauss(A,b) [m,n]=size(A); n=length(b); for k=1:n-1

%A 为系数矩阵,b 为右端项矩阵

[pt,p]=max(abs(A(k:n,k))); p=p+k-1; if p>k

%找出列中绝对值最大的数

t=A(k,:);A(k,:)=A(p,:);A(p,:)=t; t=b(k);b(k)=b(p);b(p)=t; end m=A(k+1:n,k)/A(k,k);

%交换行使之变到主元位置上

%开始消元

A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n); b(k+1:n)=b(k+1:n)-m*b(k); A(k+1:n,k)=zeros(n-k,1); if flag~=0 Ab=[A,b]; end end x=zeros(n,1); x(n)=b(n)/A(n,n); for k=n-1:-1:1
6 / 14

%开始回代

数值分析实习报告

x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k); end for k=1:n fprintf('x[%d]=%f\n',k,x(k)); end

2、在命令窗口输入指令并运行:

7 / 14

数值分析实习报告

五、GS 迭代法
?10x1 ? 3 x 2 ? x3 ? 14 ? 例题:用 Gauss-Seidel 迭代法求解方程组: ?2 x1 ? 10x 2 ? 3 x3 ? ?5 ? x ? 3 x ? 10x ? 14 2 3 ? 1

1、建立 M 文件 function Gauss_Seidel(A,b,eps) 精度 [m,n]=size(A); D=diag(diag(A)); L=D-tril(A); U=D-triu(A); temp=1; x=zeros(m,1); k=0; while abs(max(x)-temp)>eps temp=max(abs(x)); k=k+1; %记录循环次数 %Gauss_Seidel 的迭代公式 %求矩阵 D %求矩阵 L %求矩阵 U %A 为系数矩阵,b 为后端项矩阵,epe 为

x=inv(D-L)*U*x+inv(D-L)*b; end for k=1:n fprintf('x[%d]=%f\n',k,x(k)); end 2、在命令窗口输入指令并运行:

8 / 14

数值分析实习报告

六、牛顿迭代法
例题:用 Newton 迭代法求解方程 x3-3x-1=0 在 x=2 附近的根。 1、建立 M 文件 function [ x_star,index,it ] = newton( fun,x,eps,it_max ) if nargin<4 it_max=100; end if nargin<3 eps=1e-5; end index=0; k=1; while k<=it_max x1=x; f=feval(fun,x); if abs(f(2))<eps break; end x=x-f(1)/f(2); if abs(x-x1)<eps index=1; break; end k=k+1; end x_star=x; it=k;

9 / 14

数值分析实习报告

2、在命令窗口输入指令并运行:

10 / 14

数值分析实习报告

七、反幂法
例题:求矩阵 A 的绝对值最小的特征值和对应的特征向量
?2 1 0? ? A= ? ?1 3 1 ? ? ?0 1 4? ?

给出

1、建立 M 文件 function[m,u,index]=pow_inv(A,ep,N) %A 为矩阵; ep 为精度要求; N 为最大迭代次数; m 为绝对值最小的特征值; u 为对应最小特征值的特征向量。 N=100; ep=1e-6; n=length(A);u=ones(n,1); index=0;k=0;m1=0; invA=inv(A); while k<=N v=invA*u;[vmax,i]=max(abs(v)); m=v(i);u=v/ m; if abs(m-m1)<ep index=1;break; end m1=m;k=k+1; end m=1/ m;

11 / 14

数值分析实习报告

2、在命令窗口输入指令并运行:

12 / 14

数值分析实习报告

八、四阶古典 R_K 法
? y' ? 2 x ? y 例题:利用程序对初值问题: ? ? y (0) ? 1
用四阶古典 R_K 法(h=0.1)计算 x=0.1,0.2,0.3,0.4,0.5 各处的数值解。 1、建立 M 文件 function R_K4(x,y,h) syms K1 K2 K3 K4, for m=1:5, x=x+h; K1=2*x+y; K2=2*(x+0.5*h)+(y+0.5*h*K1); K3=2*(x+0.5*h)+(y+0.5*h*K2); K4=2*(x+h)+(y+h*K3); y=y+(1/6)*h*(K1+2*K2+2*K3+K4); disp('x='),disp(x); disp('y='),disp(y); end end

13 / 14

数值分析实习报告

2、在命令窗口输入指令并运行:

14 / 14


赞助商链接
相关文章:
数值分析第二次实习报告
数值分析第二次实习报告_理学_高等教育_教育专区。实验报告 一、实习目的:(1)通过编程计算实践,体会和理解 Lagrange 插值公式、Newton 插值公式、 分段插值公式和 ...
西南交大数值分析上机实习报告
西南交大数值分析上机实习报告_理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档西南交大数值分析上机实习报告_理学_高等教育_教育专区。研究生课程上机...
数值分析上机实习报告
, n-2. 第 15 页 数值分析上机实习报告 2012 年 12 月 (2)程序主体 #include <stdio.h> #include <math.h> void main( ) { int i,j,m,r,sign;...
数值分析实习报告
数值分析实习报告 - 数值分析实习报告 数值分析实习报告 题 目: MATLAB 算法实习 学生姓名: 指导教师: 学学院: 号: 刘圣军 2016 年 12 月 数值分析实...
数值分析第四次实习报告
学生学号 实验课成绩 武汉理工大学学 生实验报告书 实验课程名称: 实验课程名称: 数值分析( 第四次实习) 开课名称:计算机科学与技术学院 指导老师姓名: 指导老师...
谷根代数值分析--上机实习报告
谷根代数值分析--上机实习报告_理学_高等教育_教育专区。《数值分析》谷根代、杨晓忠等编著,科学出版社。 此为课后练习的部分上机实习内容的实习报告。华北...
数值分析上机实习报告
数值分析》上机实习题 if(fabs(k)>=1.5) h=0; else if(fabs(k)<=0.5) h=-k*k+3.0/4; else h=(k*k)/2-(3*fabs(k))/2+9.0/8; ...
西南交大数值分析上机实习报告
2014 数值分析上机实习报告 姓名:吴朋朋 学号:2014200328 专业:车辆工程 联系电话:13908218424 I 序言数值分析方法在工程技术领域中的应用越来越广泛, 作为连接工程...
西南交通大学研究 数值分析上机实习报告2012
数值分析上机实习报告数值分析上机实习报告隐藏>> 数值分析上机实习报告要求 1.应提交一份完整的实习报告。具体要求如下: (1)要有封面,封面上要标明姓名、学号、专...
数值分析第三次实习报告
学生学号 实验课成绩 武汉理工大学学 生实验报告书 实验课程名称: 实验课程名称: 数值分析( 第三次实习) 开课名称:计算机科学与技术学院 指导老师姓名: 指导老师...
更多相关标签: