《数值分析》课程实验指导书Word下载.docx

上传人:b****4 文档编号:6638210 上传时间:2023-05-07 格式:DOCX 页数:14 大小:18.23KB
下载 相关 举报
《数值分析》课程实验指导书Word下载.docx_第1页
第1页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第2页
第2页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第3页
第3页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第4页
第4页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第5页
第5页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第6页
第6页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第7页
第7页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第8页
第8页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第9页
第9页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第10页
第10页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第11页
第11页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第12页
第12页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第13页
第13页 / 共14页
《数值分析》课程实验指导书Word下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《数值分析》课程实验指导书Word下载.docx

《《数值分析》课程实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《《数值分析》课程实验指导书Word下载.docx(14页珍藏版)》请在冰点文库上搜索。

《数值分析》课程实验指导书Word下载.docx

信息与计算科学专业

七、主要参考书

《数值计算引论》白峰杉高等教育出版社2004.7第一版

《数值计算方法》林成森科学出版社1998

《数值分析》李庆扬王能超易大义清华大学出版社2001

《MATLAB6.0与科学计算》王沫然电子工业出版社2001

《C程序设计》谭浩强..北京:

清华大学出版社。

1991.7第一版

八、《数值计算方法》课程实验项目名称和实验目的、实验内容及实验步骤

实验1线性方程组求解的数值方法(6学时)

实验目的:

1、掌握解线性方程组的几种基本常用的直接法,并能比较它们各自的优缺点;

2、能熟练地对方阵A进行三角分解;

3、掌握用迭代法求解线性方程组的基本思想和计算步骤;

4、能熟练地写出Jacobi迭代法、Gauss-Seidel迭代法、SOR迭代法的迭代格式的分量形式,并能比较它们各自的特点及误差估计。

实验内容:

编写Gauss列主元消去法,LU分解,Jacobi,Gauss-Seidel,SOR迭代法的通用程序。

实验步骤:

1.进入C或其他高级语言开发环境;

2.根据实验内容和要求编写程序;

3.调试程序;

4.运行程序;

5.生成报告

实验2函数的数值逼近(4学时)

1、掌握多项式插值的概念、存在唯一性;

2、能熟练地应用几种常用方法,如Lagrange插值、Newton插值及三次样条插值;

3、掌握最小二乘原理,会求拟合函数及超定方程组的最小二乘解

编写Lagrange插值,三次样条插值,最小二乘拟合的通用程序

实验3数值积分(4学时)

实验目的:

1、熟练掌握复化梯形公式、复化Simpson公式及其截断误差的分析

2、了解Monte-Carlo方法;

编写复化梯形,复化Simpson,Monte-Carlo方法的通用程序

实验4常微分方程初值问题初步(2学时)

1、解常微分方程初值问题数值解法的一些基本概念;

2、掌握经典Runge-kutta方法,培养综合处理问题的能力

编写四阶经典Runge-kutta方法的通用程序。

实验5非线性方程(4学时)

1、掌握计算机上常用的一些求非线性方程的近似根的数值方法(二分法、牛顿法、割线法),并能比较各种方法的异同点;

2、正确应用所学方法求出给定的非线性方程满足一定精度要求的数值解。

编写二分法,牛顿法,割线法的通用程序,自己选择实例验证。

实验6矩阵特征值计算(4学时)

1.掌握求矩阵主特征值及相应特征向量的幂法;

2.掌握求一般矩阵全部特征值的QR方法。

编写幂法,QR方法的通用程序,自己选择实例验证。

九、样例

实验1

能熟练地写出Jacobi迭代法的迭代格式的分量形式

实验内容:

编写Jacobi迭代法的通用程序

Jacobi方法:

functionx=myJacobi(A,ep)

ifnargin<

2

ep=1.0e-5;

end

[n,m]=size(A);

x=zeros(n,1);

y=zeros(n,1);

k=0;

while1

fori=1:

1:

n

s=0.0;

forj=1:

ifj~=i

s=s+A(i,j)*x(j);

end

y(i)=(A(i,n+1)-s)/A(i,i);

xmx=0.0;

xmx=max(xmx,abs(x(i)-y(i)));

ifxmx<

=ep

x(i)=y(i);

return;

y(i)=0.0;

k=k+1;

ifk>

30

error('

failure'

);

实验2

能熟练地应用构造Lagrange插值

编写Lagrange插值法的通用程序

Lagrange插值:

function[X,Y]=myLagrange(A,B,C)

symsx

l=length(A);

m=length(B);

n=length(C);

ifl~=m

'

error'

fork=1:

m

L(i)=1;

M(i)=sym('

1'

L(i)=L(i)*(C(k)-A(j))/(A(i)-A(j));

M(i)=M(i)*(x-A(j))/(A(i)-A(j));

Y(k)=sum(B.*L);

X=simple(sum(B.*M));

end

实验3

熟练掌握Romberg公式及Romberg积分法

编写Romberg积分法的通用程序,自己选择实例验证

Romberg积分法:

function[s,n]=rbg1e(a,b,esp)

3,esp=1e-6;

s=10;

s0=0;

k=2;

t(1,1)=(b-a)*(f(a)+f(b))/2;

while(abs(s-s0)>

eps)

h=(b-a)/2^(k-1);

w=0;

if(h~=0)

forI=1:

(2^(k-1)-1)

w=w+f(a+I*h);

t(k,1)=h*(f(a)/2+f(b)/2);

(k-1+1)

t(i,1)=(4^(1-1)*t(I+1,I-1)-t(I,1-1))/(4^(1-1)-1);

s=t(1,k);

s0=(t(1,k-1));

k=k+1;

n=k;

elses=s0;

n=-k

functionf=f(x);

f=x.^3;

rbg(0,2)

ans=

4

实验4

掌握常微分方程初值问题的Euler方法

编写Euler方法的通用程序

Euler方法:

functionEulersingle

clc

%Eulersinglestepmethod:

y'

=f(t,y),a<

=t<

=b,y(a)=mu

prompt={'

a='

'

b='

N='

h='

mu='

};

dlg_title='

SetforEulersingle.'

;

num_lines=1;

def2={'

2'

0'

0.1'

inM1=inputdlg(prompt,dlg_title,num_lines,def2);

a=str2num(cell2mat(inM1

(1)));

b=str2num(cell2mat(inM1

(2)));

N=str2num(cell2mat(inM1(3)));

h=str2num(cell2mat(inM1(4)));

mu=str2num(cell2mat(inM1(5)));

symsty

%dy=f(t,y)seedy.m

ifN~=0

h=(b-a)/N;

else

N=(b-a)/h;

t=a;

y=mu;

[t,y]

fori=1:

N

y=y+h*dy(t,y);

t=a+i*h;

[t,y]

实验5

练习动手构造二分法的能力,加深理解二分的真谛。

编写二分法的通用程序

二分法:

functiony=erfen(fun,a,b,esp)

4

 

 

esp=1e-4;

iffeval(fun,a)*feval(fun,b)<

n=1;

c=(a+b)/2;

whilec>

esp

iffeval(fun,a)*feval(fun,c)<

b=c;

c=(a+b)/2;

elseiffeval(fun,c)*feval(fun,b)<

a=c;

y=c;

esp=10000;

n=n+1;

y=c;

elseiffeval(fun,a)==0

y=a;

elseiffeval(fun,b)==0

y=b;

elsedisp('

these,maynotbearootintheintercal.'

functiony=fc(x)

y=x^2-x-1

>

erfen(‘fc’,0,10,0.05)

n=

56

1.6180

实验6

1、掌握求矩阵主特征值及相应特征向量的幂法

编写幂法的通用程序

乘幂法:

#defineN3

#defineM10

floatfanshu3(floatf[N])

{inti;

floatf3=0.0;

for(i=0;

i<

N;

i++)

{if(f[i]<

0)f[i]=-f[i];

if(f3<

f[i])f3=f[i];

}

returnf3;

}

main()

{inti,j,k;

floata[N][N]={2,3,2,10,3,4,3,6,1};

floatv[N],w[N],u[N];

floatu0[N]={0,0,1};

floatb,t,tol=0.001,err;

k=1;

i++)u[i]=u0[i];

while(k<

=M)

{for(i=0;

{t=0.0;

for(j=0;

j<

j++)

t+=a[i][j]*u[j];

v[i]=t;

b=fanshu3(v);

if(b==0){printf("

eigenvecter"

u);

break;

else

i++){w[i]=v[i]/b;

u[i]=u[i]-w[i];

err=fanshu3(u);

i++)u[i]=w[i];

if(err<

tol){printf("

%f"

b);

printf("

u[i]);

break;

elsek++;

if(k>

M)printf("

Maximunnumberofiterationsexceeded"

}_

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2