好文档 - 专业文书写作范文服务资料分享网站

数值分析上机第四次作业

天下 分享 时间: 加入收藏 我要投稿 点赞

数值分析上机第四次作业

-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

数值分析上机第四次作业

实验项目:共轭梯度法求解对称正定的线性方程组 实验内容:用共轭梯度法求解下面方程组

?2?100??x1??3????x????13?10??2????2? (1) ??0?14?1??x3??1???????00?15???x4??5?迭代20次或满足x(k)?x(k?1)??10?11时停止计算。

(2) Ax?b,A是1000阶的Hilbert矩阵或如下的三对角矩阵, A[i,i]=4,A[i,i-1]=A[i-1,i]=-1,i=2,3,..,n b[1]=3, b[n]=3, b[i]=2,i=2,3,…,n-1

迭代10000次或满足r(k)?b?Ax(k)?10?7时停止计算。 (3)*考虑模型问题,方程为

?2u?2u?2?(x2?y2)exy,(x,y)?D?(0,1)?(0,1)2?x?y u(0,y)?1,u(1,y)?ey,0?y?1

u(x,0)?1,u(x,1)?ex,0?x?1用正方形网格离散化,若取h?1/N,N?10,得到n?100的线性方程组,并用共轭梯度法(CG法)求解,并对解作图。

0实验要求:迭代初值可以取uij?1(i,j?1,...,N),计算到||rk||2?10?3停

k止.本题有精确解u(x,y)?exy,这里uk表示以uij为分量的向量,u表示在相应

点(i,j)上取值作为分量的向量.

实验一: (1)

编制函数子程序CGmethod。 function [x,k]=CGmethod(A,b)

n=length(A);x=zeros(n,1);r=b-A*x;rho=r'*r; k=0;

while rho>10^(-12) & k<20 k=k+1; if k==1 p=r; else

beta=rho/rho1; p=r+beta*p;

2

end w=A*p;

alpha=rho/(p'*w); x=x+alpha*p; r=r-alpha*w; rho1=rho; rho=r'*r; end

编制主程序shiyan1_1: clear,clc

A=[2,-1,0,0;-1,3,-1,0;0,-1,4,1;0,0,-1,5]; b=[3,-2,1,5]';

[x,k]=CGmethod(A,b)

运行结果为: x =

1.3882 -0.2855 -0.0222 0.9367 k = 20 (2)

编制函数子程序CGmethod_1

function [x,k]=CGmethod_1(A,b)

n=length(A);x(1:n,1)=0;r=b-A*x;r1=r; k=0;

while norm(r1,1)>=10^(-7)&k<10^4 k=k+1; if k==1 p=r; else

beta=(r1'*r1)/(r'*r);p=r1+beta*p; end r=r1; w=A*p;

alpha=(r'*r)/(p'*w); x=x+alpha*p; r1=r-alpha*w; end

编制主程序shiyan1_2: clear,clc n=1000; A=hilb(n);

3

b=sum(A')';

[x,k]=CGmethod_1(A,b)

运行结果为:x的值,均接近1,迭代次数k=32 实验二

实验目的:用复化Simpson方法、自适应复化梯形方法和Romberg方法求数值积分。

实验内容:计算下列定积分

12001?x6?2?xxdxdx ?x?xdx(1) ?? (2) (3) ???050?10x??2实验要求:

(1)分别用复化Simpson公式、自适应复化梯形公式计算要求绝对误差限1为???10?7,输出每种方法所需的节点数和积分近似值,对于自适应方法,

2显示实际计算节点上离散函数值的分布图;

(2)分析比较计算结果。

2、实验目的:高斯数值积分方法用于积分方程求解。

实验内容:线性的积分方程的数值求解,可以被转化为线性代数方程组的求解问题。而线性代数方程组所含未知数的个数,与用来离散积分的数值方法的节点个数相同。在节点数相同的前提下,高斯数值积分方法有较高的代数精度,用它通常会得到较好的结果。对第二类Fredholm积分方程

y(t)??k(t,s)y(s)ds?f(t),a?t?b

ab首先将积分区间[a,b]等分成n份,在每个子区间上离散方程中的积分就得到线性代数方程组。

实验要求:分别使用如下方法,离散积分方程中的积分

1.复化梯形方法;2.复化辛甫森方法;3.复化高斯方法。求解如下的积分方程

21ttt,方程的准确解为, ey(t)?ey(s)ds?e?0e?1并比较各算法的优劣。

实验二

1、复化Simpson方法) 输入积分区间下限0 输入积分区间上限2 输入等分份数20

输入被积函数(以x为自变量)x^6/10-x^2+x S =

1.1619

输入积分区间下限0 输入积分区间上限1

4

输入等分份数20

输入被积函数(以x为自变量)x*sqrt(x) S =

0.4000

输入积分区间下限5 输入积分区间上限200 输入等分份数20

输入被积函数(以x为自变量)1/sqrt(x)

S =

23.8218

2、自动变步长Simpson方法 函数1:

输入积分区间下限0 输入积分区间上限2

输入为课本的第几个函数(第一个这输入1):1 S =1.619(过程省略) i =

19 函数2:

输入积分区间下限0 输入积分区间上限1

输入为课本的第几个函数(第一个这输入1):2 S =0.4(过程省略) i = 17 函数3:

输入积分区间下限5 输入积分区间上限200

输入为课本的第几个函数(第一个这输入1):3 S=23.8121(过程省略) i = 111

编制程序如下: Clear,clc syms x

a=input('输入积分区间下限'); b=input('输入积分区间上限'); n=input('输入等分份数');

ff=input('输入被积函数(以x为自变量)'); h=(b-a)/n;

f=inline(ff,'x');

5

数值分析上机第四次作业

数值分析上机第四次作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII数值分析上机第四次作业实验项目:共轭梯度法求解对称正定的线性方程组实验内容:用共轭梯度法求解下面方程组?2?100??x1??3????x????13?10??2????2?
推荐度:
点击下载文档文档为doc格式
8b00s4paoy7wp9920czo7b3ef97x1a00zya
领取福利

微信扫码领取福利

微信扫码分享