数值分析计算方法实验报告Word下载.docx

上传人:b****4 文档编号:6378674 上传时间:2023-05-06 格式:DOCX 页数:29 大小:324.69KB
下载 相关 举报
数值分析计算方法实验报告Word下载.docx_第1页
第1页 / 共29页
数值分析计算方法实验报告Word下载.docx_第2页
第2页 / 共29页
数值分析计算方法实验报告Word下载.docx_第3页
第3页 / 共29页
数值分析计算方法实验报告Word下载.docx_第4页
第4页 / 共29页
数值分析计算方法实验报告Word下载.docx_第5页
第5页 / 共29页
数值分析计算方法实验报告Word下载.docx_第6页
第6页 / 共29页
数值分析计算方法实验报告Word下载.docx_第7页
第7页 / 共29页
数值分析计算方法实验报告Word下载.docx_第8页
第8页 / 共29页
数值分析计算方法实验报告Word下载.docx_第9页
第9页 / 共29页
数值分析计算方法实验报告Word下载.docx_第10页
第10页 / 共29页
数值分析计算方法实验报告Word下载.docx_第11页
第11页 / 共29页
数值分析计算方法实验报告Word下载.docx_第12页
第12页 / 共29页
数值分析计算方法实验报告Word下载.docx_第13页
第13页 / 共29页
数值分析计算方法实验报告Word下载.docx_第14页
第14页 / 共29页
数值分析计算方法实验报告Word下载.docx_第15页
第15页 / 共29页
数值分析计算方法实验报告Word下载.docx_第16页
第16页 / 共29页
数值分析计算方法实验报告Word下载.docx_第17页
第17页 / 共29页
数值分析计算方法实验报告Word下载.docx_第18页
第18页 / 共29页
数值分析计算方法实验报告Word下载.docx_第19页
第19页 / 共29页
数值分析计算方法实验报告Word下载.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数值分析计算方法实验报告Word下载.docx

《数值分析计算方法实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《数值分析计算方法实验报告Word下载.docx(29页珍藏版)》请在冰点文库上搜索。

数值分析计算方法实验报告Word下载.docx

%高斯列主元消元法求解线性程组Ax=b

%A为输入矩阵系数,b为程组右端系数

%程组的解保存在x变量中

formatlong;

A=[2,10,0,-3;

-3,-4,-12,13;

1,2,3,-4;

4,14,9,-13]

b=[10,5,-2,7]'

[m,n]=size(A);

ifm~=n

error('

矩阵A的行数和列数必须相同'

);

return;

end

ifm~=size(b)

b的大小必须和A的行数或A的列数相同'

ifrank(A)~=rank([A,b])

A矩阵的秩和增广矩阵的秩不相同,程不存在唯一解'

c=n+1;

A(:

c)=b;

fork=1:

n-1

[r,m]=max(abs(A(k:

n,k)));

m=m+k-1;

if(A(m,k)~=0)

if(m~=k)

A([km],:

)=A([mk],:

end

A(k+1:

n,k:

c)=A(k+1:

c)-(A(k+1:

n,k)/A(k,k))*A(k,k:

c);

x=zeros(length(b),1);

x(n)=A(n,c)/A(n,n);

fork=n-1:

-1:

1

x(k)=(A(k,c)-A(k,k+1:

n)*x(k+1:

n))/A(k,k);

disp('

X='

disp(x);

formatshort;

输出结果:

2.Jacobi迭代法:

%Jacobi迭代法求解实验1

%A为程组的增广矩阵

clc;

A=[2100-310;

-3-4-12135;

123-4-2;

4149-137]

MAXTIME=50;

eps=1e-5;

[n,m]=size(A);

x=zeros(n,1);

y=zeros(n,1);

k=0;

disp('

迭代过程X的值情况如下:

'

while1

disp(x'

fori=1:

1:

n

s=0.0;

forj=1:

ifj~=i

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

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

fori=1:

maxeps=max(0,abs(x(i)-y(i)));

ifmaxeps<

=eps

x(i)=y(i);

y(i)=0.0;

k=k+1;

ifk>

MAXTIME

超过最大迭代次数,退出'

 

由于不收敛,故出现上述情况。

3.Gauss--Saidel迭代法

%Gauss_Seidel迭代法求解实验1

Maxtime=50;

Eps=10E-5;

x=zeros(1,n);

x='

Maxtime

disp(x);

ifi~=j

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

ifsum((x-floor(x)).^2)<

Eps

break;

end;

end;

X=x;

迭代结果:

X

因为不收敛,故出现上述情况。

4.超松弛迭代法:

%SOR法求解实验1

%w=1.45

%程组系数矩阵

w=1.45;

Maxtime=100;

Eps=1E-5;

n=length(A);

k=0;

x=ones(n,1);

y=x;

迭代过程:

while1

y=x;

s=b(i);

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

ifabs(A(i,i))<

1E-10|k>

=Maxtime

已达最大迭代次数或矩阵系数近似为0,无法进行迭代'

s=s/A(i,i);

x(i)=(1-w)*x(i)+w*s;

ifnorm(y-x,inf)<

最后迭代结果:

X=x'

formatshort;

插值法

1.实验目的:

(1)学会拉格朗日插值、牛顿插值等基本法

(2)设计出相应的算法,编制相应的函数子程序

(3)会用这些函数解决实际问题

(1)设计拉格朗日插值算法,编制并调试相应的函数子程序

(2)设计牛顿插值算法,编制并调试相应的函数子程序

(3)给定函数四个点的数据如下:

1.1

2.3

3.9

5.1

Y

3.887

4.276

4.651

2.117

试用拉格朗日插值确定函数在x=2.101,4.234处的函数值。

4)已知

用牛顿插值公式求

的近似值。

3.实验原理

写出本次实验所用算法的算法步骤叙述或画出算法程序框图

4.实验环境及实验文件存档名

5.实验结果及分析

(1)拉格朗日法

程序:

functionlagrange(x)

x0=[1.12.33.95.1];

y0=[3.8874.2764.6512.117];

n=length(x0);

s=0;

forj=0:

(n-1)

t=1;

fori=0:

t=t*(x-x0(i+1))/(x0(j+1)-x0(i+1));

s=s+t*y0(j+1);

s

运行结果:

(2)牛顿差值法:

functionNewton(x)

%显示15位

x0=[149];

%x的值

y0=[123];

%y的值

x=5;

%插值点

n=max(size(x0));

y=y0

(1);

%迭代初始值

disp(y);

s=1;

dx=y0;

fori=1:

n-1%构造差商表

dx0=dx;

n-i

dx(j)=(dx0(j+1)-dx0(j))/(x0(i+j)-x0(j));

df=dx

(1);

s=s*(x-x0(i));

y=y+s*df;

%计算

disp(y);

实际结果是2.9979.有一定的误差。

总体来说还是很准确的

数值微积分

(1)学会复化梯形、复化辛浦生求积公式的应用

(4)会用这些函数解决实际问题

(1)设计复化梯形公式求积算法,编制并调试相应的函数子程序

(2)设计复化辛浦生求积算法,编制并调试相应的函数子程序

(4)分别用复化梯形公式和复化辛浦生公式计算定积分

取n=2,4,8,16,精确解为0.9460831

3、实验原理

本实验是用MATLAB来完成。

梯形法存档名为trap.m辛浦生法存档名为simpson.m

复化梯形公式求积算法:

functionT=trap(n)

f=sym('

sin(x)/x'

a=0;

b=1;

h=(b-a)/n;

T=0;

x0=a+h*k;

T=T+limit(f,x0);

T=h*(limit(f,a)+limit(f,b))/2+h*T;

T=double(T);

复化辛浦生法:

functionS=simpson(n)

h=(b-a)/(2*n);

s1=0;

s2=0;

x0=a+h*(2*k-1);

s1=s1+limit(f,x0);

x0=a+h*2*k;

s2=s2+limit(f,x0);

S=h*(limit(f,a)+limit(f,b)+4*s1+2*s2)/3;

S=double(S);

运行结果

常微分程的数值解法

(1)学会四阶龙格-库塔法的使用

(2)设计出相应的算法,编制相应的函数子程序

(3)会用这些函数解决实际问题

(1)分别取h=0.05,N=10;

h=0.025,N=20;

h=0.01,N=50,用四阶龙格-库塔法求解微分程初值问题:

y’=-50y,y(0)=10

(2)某跳伞者在t=0时刻从飞机上跳出,假设初始时刻的垂直速度为0,且跳伞者垂直下落。

已知空气阻力为F=cv2,其中c为常数,v为垂直速度,向下向为正。

写出此跳伞者的速度满足的微分程;

若此跳伞者的质量为M=70kg,且已知c=0.27kg/m,利用四阶龙格-库塔公式计算t<

=20s的速度(取h=0.1s)

3.实验原理

3、实验结果及分析

(1)

functionRK(h,n)

F='

-50*y'

;

b=a+h*n;

X1=a:

h:

b;

Y1=zeros(1,n+1);

Y1

(1)=10;

x=X1(i);

y=Y1(i);

K1=h*eval(F);

x=x+h/2;

y=y+K1/2;

K2=h*eval(F);

x=x;

y=Y1(i)+K2/2;

K3=h*eval(F);

x=X1(i)+h;

y=Y1(i)+K3;

K4=h*eval(F);

Y1(i+1)=Y1(i)+(K1+2*K2+2*K3+K4)/6;

X1

disp(Y1);

h=0.05,N=10时,运行结果:

h=0.025,n=20时,运行结果:

h=0.01,N=50时,输出结果:

(2)微分程为:

v’=9.8-0.003857v^2,v(0)=0

functionvelosity(h,n)

9.8-0.003857*y*y'

t=a:

v=zeros(1,n+1);

v

(1)=0;

x=t(i);

y=v(i);

y=v(i)+K2/2;

x=t(i)+h;

y=v(i)+K3;

v(i+1)=v(i)+(K1+2*K2+2*K3+K4)/6;

t

disp(v);

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

当前位置:首页 > 自然科学 > 物理

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

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