实验5-线性代数方程组的数值解法

合集下载

线性方程组AX=B的数值计算方法实验

线性方程组AX=B的数值计算方法实验
printf("请输入矩阵各项:\n");
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
{
scanf("%lf",&a[i][j]);
}
}
printf("请输入方程组的常数项:\n");
for(i=1;i<=n;++i)
{
scanf("%lf",&b[i]);
}
for(i=1;i<=n;++i)
t[i]=c[i][N];
for(i=N-1;i>=0;i--)//利用回代法求最终解
{
for(j=N-1;j>i;j--)
t[i]-=c[i][j]*x[j];
x[i]=t[i]/c[i][i];
}
}
运行结果:(以具体方程组为例)
2、(PA=LU:带选主元的分解法)求解线性方程组AX=B,其中:
A= B=
#define N 4//矩阵阶数
voidColPivot(doublec[N][N+1],double[]);//函数声明
voidmain(){
inti,j;
doublex[N];
doublec[N][N+1]={1,3,5,7,1,
2,-1,3,5,2,
0,0,2,5,3,
-2,-6,-3,1,4};
(3)[max1,j]=max(abs(A(p:N,p)));C=A(p,:);A(p,:)=A(j+p-1,:);A(j+p-1,:)=C;d=t(p);t(p)=t(j+p-1);t(j+p-1)=d;

线性方程组的数值解法实验报告

线性方程组的数值解法实验报告

实验报告——线性方程组的数值解法姓名:班级:学号:日期:一 实践目的1. 熟悉求解线性方程组的有关理论和方法。

2. 会编列主元消去法,全主元消去法,雅克比迭代法及高斯-赛德尔迭代法的程序。

3.通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。

4. 进一步应用数学知识,扩展数学思维,提高编程能力。

二 问题定义及题目分析1.求解线性方程是实际中常遇到的问题。

而一般求解方法有两种,一个是直接求解法,一个是迭代法。

2.直接法是就是通过有限步四则运算求的方程准确解的方法。

但实际计算中必然存在舍入误差,因此这种方法只能得到近似解。

3.迭代法是先给一个解的初始近似值,然后按一定的法则求出更准确的解,即是用某种极限过程逐步逼近准确解的方法。

4.这次实践,将采用直接法:列主元高斯消去法,全主元高斯消去法;迭代法:雅克比迭代法和高斯-赛德尔迭代法。

三 详细设计 设有线性方程组11112211n n a x a x a x b +++=21122222n n a x a x a x b +++= 1122n n nn n n a x a x a x b +++=令A= 111212122212n n n n nn a a a aa a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦ x=12n x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦ b= 12n b b b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦一. 上三角方程组的求解很简单。

所以若能将方程组化为上三角方程组,那就很容易得到方程的解,高斯消去法则是一种简洁高效的方法,可以将方程组化为上三角方程组,但是这种方法必须满足每一步时0kk a =才能求解,还有当kk a 绝对值很小时,作分母会引起较大的舍入误差。

因此在消元过程中应尽量选择绝对值较大的系数作为主元素。

1.列主元消去法很好的解决这一问题。

将1x 的系数1(1)k a k n ≤≤中绝对值最大者作为主元素,交换第一行和此元素所在的行,然后主元消去非主元项1x 的系数,。

实验五(线性方程组的数值解法和非线性方程求解)

实验五(线性方程组的数值解法和非线性方程求解)

1大学数学实验 实验报告 | 2014/4/5一、 实验目的1、学习用Matlab 软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;2、通过实例学习用线性代数方程组解决简化问题。

二、 实验内容项目一:种群的繁殖与稳定收获:种群的数量因繁殖而增加,因自然死亡而减少,对于人工饲养的种群(比如家畜)而言,为了保证稳定的收获,各个年龄的种群数量应维持不变。

种群因雌性个体的繁殖而改变,为方便起见以下种群数量均指其中的雌性。

种群年龄记作k=1,2,…,n ,当年年龄k 的种群数量记作x k ,繁殖率记作b k (每个雌性个体1年的繁殖的数量),自然存活率记作s k (s k =1−d k ,d k 为1年的死亡率),收获量记作ℎk ,则来年年龄k 的种群数量x ̌k 应该为x ̌k =∑b k n k=1x k , x ̌k+1=s k x k −ℎk , (k=1,2,…,n -1)。

要求各个年龄的种群数量每年维持不变就是要求使得x ̌k =x k , (k=1,2,…,n -1).(1) 如果b k , s k 已知,给定收获量ℎk ,建立求各个年龄的稳定种群数量x k 的模型(用矩阵、向量表示).(2) 设n =5,b 1=b 2=b 5=0,b 3=5,b 4=3,s 1=s 4=0.4,s 2=s 3=0.6,如要求ℎ1~ℎ5为500,400,200,100,100,求x 1~x 5.(3) 要使ℎ1~ℎ5均为500,如何达到?问题分析:该问题属于简单的种群数量增长模型,在一定的条件(存活率,繁殖率等)下为使各年龄阶段的种群数量保持不变,各个年龄段的种群数量将会满足一定的要求,只要找到种群数量与各个参量之间的关系,建立起种群数量恒定的方程就可以求解出各年龄阶段的种群数量。

模型建立:根据题目中的信息,令x ̌k =x k ,得到方程组如下:{x ̌1=∑b k nk=1x k =x 1x ̌k+1=s k x k −ℎk =x k+1整理得到:{−x 1∑b k nk=1x k =0−x k+1+s k x k =ℎk2 大学数学实验 实验报告 | 2014/4/52写成系数矩阵的形式如下:A =[b 1−1b 2b 3s 1−100s 2−1…b n−1b n0000⋮⋱⋮000000000⋯00−10s n−1−1]令h =[0, ℎ1,ℎ2,ℎ3,…,ℎn−2,ℎn−1]Tx =[x n , x n−1,…,x 1]T则方程组化为矩阵形式:Ax =h ,即为所求模型。

线性代数方程组的数值解法_百度文库

线性代数方程组的数值解法_百度文库

线性代数方程组的数值解法【实验目的】1. 学会用MATLAB 软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;2. 通过实例学习用线性代数方程组解决简化的实际问题。

【实验内容】【题目1】通过求解线性方程组A1x=b1和A2x=b2,理解条件数的意义和方程组的性态对解的影响。

其中A1是n阶范德蒙矩阵,即⎡1x0⎢1x1⎢A1=⎢⎢⎢⎣1xn-12x0x12 2xn-1n-1⎤ x0⎥ x1n-1⎥1,...,n-1 ,xk=1+0.1k,k=0,⎥ n-1⎥ xn-1⎥⎦A2是n阶希尔伯特矩阵,b1,b2分别是A1,A2的行和。

(1)编程构造A1(A2可直接用命令产生)和b1,b2;你能预先知道方程组A1x=和A2x=。

b2的解吗?令n=5,用左除命令求解(用预先知道的解可检验程序)b1(2)令n=5,7,9,…,计算A1,A2的条件数。

为观察它们是否病态,做以下试验:b1,b2不变,A1和A2的元素A1(n,n),A2(n,n)分别加扰动ε后求解;A1和A2不变,b1,b2的分量b1(n),分析A和b的微小扰动对解的影响。

b2(n)分别加扰动ε求解。

ε取10-1010,-8,10-6。

(3)经扰动得到的解记做x~,计算误差-x~x,与用条件数估计的误差相比较。

1.1构造A1,A2和b1,b2首先令n=5,构造出A1,A2和b1,b2。

首先运行以下程序,输出A1。

运行以下程序对A1,A2求行和:由于b1,b2分别是A1,A2的行和,所以可以预知x1=运行下列程序,用左除命令对b1,b2进行求解:得到以下结果: T。

x2=(1,1, ,1)1.2 计算条件数并观察是否为病态1.不加扰动,计算条件数。

运行以下程序:由此可知,A1,A2的条件数分别是3.574∗10, 4,766∗10。

2.b1,b2不变,A1(n,n),A2(n,n)分别加扰动(1)n=5时设x11,x12,x13分别为A1添加扰动10−10,10−8,10−6后的解。

数值分析实验报告-清华大学--线性代数方程组的数值解法

数值分析实验报告-清华大学--线性代数方程组的数值解法

数值分析实验报告-清华大学--线性代数方程组的数值解法(总15页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--线性代数方程组的数值解法实验1. 主元的选取与算法的稳定性问题提出:Gauss 消去法是我们在线性代数中已经熟悉的。

但由于计算机的数值运算是在一个有限的浮点数集合上进行的,如何才能确保Gauss 消去法作为数值算法的稳定性呢?Gauss 消去法从理论算法到数值算法,其关键是主元的选择。

主元的选择从数学理论上看起来平凡,它却是数值分析中十分典型的问题。

实验内容:考虑线性方程组 n n n R b R A b Ax ∈∈=⨯,,编制一个能自动选取主元,又能手动选取主元的求解线性方程组的Gauss 消去过程。

实验要求:(1)取矩阵⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=1415157,6816816816 b A ,则方程有解T x )1,,1,1(* =。

取n=10计算矩阵的条件数。

让程序自动选取主元,结果如何?(2)现选择程序中手动选取主元的功能。

每步消去过程总选取按模最小或按模尽可能小的元素作为主元,观察并记录计算结果。

若每步消去过程总选取按模最大的元素作为主元,结果又如何?分析实验的结果。

(3)取矩阵阶数n=20或者更大,重复上述实验过程,观察记录并分析不同的问题及消去过程中选择不同的主元时计算结果的差异,说明主元素的选取在消去过程中的作用。

(4)选取其他你感兴趣的问题或者随机生成矩阵,计算其条件数。

重复上述实验,观察记录并分析实验结果。

程序清单n=input('矩阵A 的阶数:n=');A=6*diag(ones(1,n))+diag(ones(1,n-1),1)+8*diag(ones(1,n-1),-1); b=A*ones(n,1);p=input('计算条件数使用p-范数,p='); cond_A=cond(A,p) [m,n]=size(A);Ab=[A b];r=input('选主元方式(0:自动;1:手动),r=');Abfor i=1:n-1switch rcase(0)[aii,ip]=max(abs(Ab(i:n,i)));ip=ip+i-1;case (1)ip=input(['第',num2str(i),'步消元,请输入第',num2str(i),'列所选元素所处的行数:']);end;Ab([i ip],:)=Ab([ip i],:);aii=Ab(i,i);for k=i+1:nAb(k,i:n+1)=Ab(k,i:n+1)-(Ab(k,i)/aii)*Ab(i,i:n+1);end;if r==1Abendend;x=zeros(n,1);x(n)=Ab(n,n+1)/Ab(n,n);for i=n-1:-1:1x(i)=(Ab(i,n+1)-Ab(i,i+1:n)*x(i+1:n))/Ab(i,i);endx运行结果(1)n=10,矩阵的条件数及自动选主元Cond(A,1) =×103Cond(A,2) = ×103Cond(A,inf) =×103程序自动选择主元(列主元)a.输入数据矩阵A的阶数:n=10计算条件数使用p-范数,p=1选主元方式(0:自动;1:手动),r=0b.计算结果x=[1,1,1,1,1,1,1,1,1,1]T(2)n=10,手动选主元a. 每步消去过程总选取按模最小或按模尽可能小的元素作为主元矩阵A 的阶数:n=10计算条件数使用p-范数,p=1选主元方式(0:自动;1:手动),r=1(1)(1)61786115[]861158614A b ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦第1步消元,请输入第1列所选元素所处的行数:1(2)(2) 6.0000 1.00007.00004.6667 1.0000 5.66678.0000 6.000015.0000[]8.00001.000015.00006.0000 1.00008.0000 6.0000 1.000015.00008.0000 6.000014.0000A b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦第2步消元,请输入第2列所选元素所处的行数:2…(实际选择时,第k 步选择主元处于第k 行) 最终计算得x=[, , , , , , , , , ]Tb. 每步消去过程总选取按模最大的元素作为主元 矩阵A 的阶数:n=10计算条件数使用p-范数,p=1选主元方式(0:自动;1:手动),r=1(1)(1)61786115[]861158614A b ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦第1步消元,请输入第1列所选元素所处的行数:2(2)(2)8.0000 6.0000 1.000015.0000-3.50000.7500-4.250008.0000 6.0000 1.000015.0000[]8.0000 6.000015.00008.0000 1.00006.0000 1.000015.00008.0000 6.000014.0000A b ⎡⎤⎢⎥-⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦第2步消元,请输入第2列所选元素所处的行数:3…(实际选择时,第k 步选择主元处于第k+1行) 最终计算得x=[1,1,1,1,1,1,1,1,1,1]T(3)n=20,手动选主元a. 每步消去过程总选取按模最小或按模尽可能小的元素作为主元 矩阵A 的阶数:n=20计算条件数使用p-范数,p=1选主元方式(0:自动;1:手动),r=1(1)(1)61786115[]861158614A b ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦第1步消元,请输入第1列所选元素所处的行数:1(2)(2) 6.0000 1.00007.00004.6667 1.0000 5.66678.0000 6.000015.0000[]8.00001.000015.00006.0000 1.00008.0000 6.0000 1.000015.00008.0000 6.000014.0000A b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦第2步消元,请输入第2列所选元素所处的行数:2…(实际选择时,第k 步选择主元处于第k 行) 最终计算得x=[,,,,,,,,,,,,,,,,,,,]T b. 每步消去过程总选取按模最大的元素作为主元 矩阵A 的阶数:n=20计算条件数使用p-范数,p=1选主元方式(0:自动;1:手动),r=1(1)(1)61786115[]861158614A b ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦第1步消元,请输入第1列所选元素所处的行数:2(2)(2)8.0000 6.0000 1.000015.0000-3.50000.7500-4.250008.0000 6.0000 1.000015.0000[]8.0000 6.000015.00008.0000 1.00006.0000 1.000015.00008.0000 6.000014.0000A b ⎡⎤⎢⎥-⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦第2步消元,请输入第2列所选元素所处的行数:3…(实际选择时,第k步选择主元处于第k+1行)最终计算得x=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]T(4)A分别为幻方矩阵,Hilbert矩阵,pascal矩阵和随机矩阵简要分析计算(1)表明:对于同一矩阵,不同范数定义的条件数是不同的;Gauss消去法在消去过程中选择模最大的主元能够得到比较精确的解。

【清华】7.0_实验5-线性代数方程组的数值解法

【清华】7.0_实验5-线性代数方程组的数值解法

0.99995
1
1
0
0.5833
0.8333
0.9967
0.99992
1
1
0
0.5000
0.7847
0.9954
0.99988 0.99999
1
0
0.5000
0.7569
0.9943
0.99985 0.99999
1
0
0.5000
0.7500
0.9935
0.99983 0.99999
1
0
0.5000
次时得到的向量,可以作出论断,G-S 方法已经基本可以认为算到了精确值 (1,1,,1)T (共
20 个 1),而此时 JACOBI 法也接近精确值。由此说明,高斯-赛德尔方法比雅可比方法具有 更快的收敛速度。原因就在于 G-S 法每步都利用了当前步骤计算出的最新的 x 分量值。
进一步,再选取不同的 x0 和 b 来验证:
0.7500
0.9930
0.99981 0.99999 0.99999
0
0.5000
0.7500
0.9926
0.99979 0.99999 0.99999
0
0.5000
0.7500
0.9924
0.99978 0.99999 0.99999
0
0.5000
0.7500
0.9923
0.99977 0.99999 0.99999
序如下:
b0=ones(20,1);x0=zeros(20,1);
%给 b 和 x0 赋值
a1=A;
x11=jacobi(x0,b0,a1,m); n1=size(x11)

数学实验第3次作业_线性方程组的数值解法

数学实验第3次作业_线性方程组的数值解法

线性方程组的数值解法一 实验目的1 学会用MATLAB 软件求解线性代数方程组,对迭代法的收敛性和解的稳定性做初步分析;2 通过实例学习线性代数方程组解决简化的实际问题。

二 实验内容1 已知方程组Ax =b ,其中A ∈ℝ20×20,定义为:31/21/41/231/21/41/41/231/21/41/41/231/21/41/23--⎡⎤⎢⎥---⎢⎥⎢⎥---⎢⎥-⎢⎥⎢⎥---⎢⎥--⎣⎦试通过迭代法求解此方程组,认识迭代法收敛的含义以及迭代初值和方程组系数矩阵性质对收敛速度的影响。

实验要求:(1) 选取不同的初始向量x (0)和不同的方程组右端项向量b ,给定迭代误差要求,用雅可比迭代法和高斯-赛德尔迭代法计算,观测得到的迭代向量序列是否均收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论。

(2) 取定右端项向量b 和初始向量x (0),将A 的主对角线元素成倍增长若干次,非对角线元素不变,每次用雅可比迭代法计算,要求迭代误差满足‖x (k+1)−x (k)‖∞<10−5,比较收敛速度,分析现象并得出你的结论。

初步解决:首先建立利用雅克比迭代法和高斯-赛德尔迭代法计算的函数M 文件。

雅克比迭代法:高斯-赛德尔迭代法:关于迭代法的收敛性:由原式Ax=b化简可得x=Bx+f,也就是说,研究此处迭代法是否收敛实际上就是研究有原矩阵A经变换之后所得矩阵B的性质。

而由于该题第一问中,A保持不变,所以对于收敛性只需研究一次。

在命令栏中输入以下命令:(1)构造题目中的矩阵A:(2)提取对角矩阵、上三角矩阵、下三角矩阵:(3)对于两种迭代方法分别求B:(4)分别计算两个矩阵的三种范数:n1和m1、n2和m2、n3和m3分别是矩阵B1、B2的1-范数、2-范数和∞范数。

由书上定理,矩阵的谱半径不超过任何一个范数,即ρ(B)≤‖B‖,而由图中可以看出,两个矩阵的六个范数没有一个大于1,所以两个矩阵的谱半径一定都小于1,所以此时两种迭代方法均收敛。

线性代数方程组的数值解法

线性代数方程组的数值解法

) a
a / a (k1) kj
( k 1) kk
a a (k1)
ij
( k 1) ik
( j) kj
( j k 1,, n 1) (i k 1,, n; j k 1,n 1)
第n步:得到:
1
a (1) 12
a (1) 13
a (1) 1n
1
a (2) 23
a (2) 2n
a (1) 1n 1
A b 行初等变换 I x
相应地,计算公式可表述为:
对 k 1,2,, n, 依次计算
aaik((jjkk
) )
a(k 1) kj
a(k 1) ij
/
a(k kk
1)
a a (k 1) (k )
ik
kj
(
j
k
1, k
2,, n 1)
(i 1,2,, k 1, k 1, k 2,, n; j k 1,, n 1)
后用第i行元数(i
2,
,
n)减去第一行对应元素的a
(0) i1
倍,(i 2,, n),这样,a1(01)位置变为1,其余各行的第一
个元素变为0。
1
(A(0)
,
b(0)
)
a
(0) 21
a
(0) n1
a(0) 12
/
a(0) 11
a(0) 22
a(0) 13
/
a(0) 11
a(0) 23
a(0) 1n
0
a (1) 13
a (2) 23
a (1) 1n 1
a (2) 2n 1
记为
a (2) 33
a
(2) 3n 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

333.3333 333.3333 333.3333 333.3333 500.0000 500.0000 500.0000 500.0000 583.3333 583.3333 583.3333 583.3333 625.0000 625.0000 625.0000 625.0000 645.8173 645.8333 645.8333 645.8333 656.1616 656.2353 656.2487 656.2487
0 0.4259 0.5646 0.6102 0.6253 0.6303 0.6320 0.6325
0 0.4367 0.5807 0.6284 0.6442 0.6495 0.6512 0.6518
0 0.4416 0.5881 0.6367 0.6529 0.6583 0.6600 0.6606
k2 =
8
选择初值全零、 b为全1的情况计算, 结果是收敛的; 其中Jacobi方法迭代了11次, Gauss 方法迭代了8次
之后将 b 改为全为 1000 的向量,计算结果如下:
x1 =
1 至 11 列
0
0
0 333.3333 500.0000 571.7593 604.5525 619.5666 626.5593 629.8380
12 至 20 列
0 0.3333 0.5000 0.5833 0.6250 0.6458 0.6562 0.6614 0.6640 0.6653 0.6659
0 0.3333 0.5000 0.5833 0.6250 0.6458 0.6562 0.6613 0.6638 0.6651 0.6657
实验 5 线性代数方程组的数值解法
实验目的 1.学会用 MATLAB 数值求解线性代数方程组,对迭代法的收敛性和稳定性做初步分析; 2.通过实例学习通过用线性代数方程组解决简化实际问题。 实验内容 3.已知方程组(略) 1) 选取不同的初始向量������ (0) 和不同的方程组右端项b,给定迭代误差要求,用雅克比 迭代法和高斯-赛德尔迭代法计算, 观察得到的迭代向量序列是否均收敛?若收敛, 记录迭代次数,分析计算结果并得出结论; 雅克比迭代法的函数:jacobi.m
0 0.4433 0.5908 0.6398 0.6562 0.6616 0.6634 0.6640
0 0.4440 0.5919 0.6411 0.6575 0.6630 0.6648 0.6654
0 0.4443 0.5923 0.6416 0.6581 0.6635 0.6654 0.6660
0 0.4444 0.5926 0.6255 0.6313 0.6325 0.6327 0.6328
0 0.4444 0.5556 0.5700 0.5727 0.5733 0.5734 0.5734
0 0.4444 0.4753 0.4805 0.4814 0.4816 0.4816 0.4816
高斯-赛德尔迭代法的函数:gauss.m
function [x,k]=gauss(x0,a,b,ep) ang=diag(a); n=length(ang); for i=1:n for j=1:n a(i,j)=a(i,j)/ang(i); end b(i)=b(i)/ang(i); end
coef=a-eye(n); x=[x0]; cha=100; n=1; while cha>ep^2 xn=x(n,:); for i=1:length(ang) storage=-coef(i,:)*(xn')+b(i)'; xn(i)=storage; end x=[x;xn]; var=(x(n,:)-x(n+1,:)).^2; cha=max(var); n=n+1; end k=n;
12 至 20 列
0 0.4444 0.5926 0.6420 0.6584 0.6639 0.6657 0.6663
0 0.4444 0.5926 0.6420 0.6584 0.6639 0.6656 0.6661
0 0.4444 0.5926 0.6420 0.6584 0.6637 0.6652 0.6656
631.3878 632.1242 632.4758 632.6443 632.7253 632.7644 632.7833 632.7924 632.7968 632.7990 632.8000 632.8006 632.8008
650.3562 658.9311 662.0917 663.3558 651.2613 659.9700 663.2290 664.5613 651.6959 660.4722 663.7826 665.1517 651.9052 660.7154 664.0522 665.4408 652.0063 660.8333 664.1835 665.5824 652.0552 660.8906 664.2476 665.6516 652.0789 660.9185 664.2789 665.6856 652.0904 660.9320 664.2941 665.7021 652.0960 660.9386 664.3016 665.7103 652.0987 660.9418 664.3052 665.7142 652.1000 660.9434 664.3070 665.7162 652.1006 660.9442 664.3078 665.7171 652.1010 660.9446 664.3083 665.7176
0 0.3333 0.5000 0.5810 0.6184 0.6362 0.6445 0.6485 0.6504 0.6513 0.6517
0 0.3333 0.5000 0.5718 0.6046 0.6196 0.6266 0.6298 0.6314 0.6321 0.6325
0 0.3333 0.4722 0.5278 0.5527 0.5638 0.5689 0.5713 0.5724 0.5729 0.5732
0 0.4444 0.5926 0.6420 0.6582 0.6628 0.6640 0.6642
0 0.4444 0.5926 0.6420 0.6565 0.6599 0.6607 0.6609
0 0.4444 0.5926 0.6389 0.6494 0.6515 0.6520 0.6521
0 0.3333 0.5000 0.5718 0.6046 0.6196 0.6266 0.6298 0.6314 0.6321 0.6325
0 0.3333 0.5000 0.5810 0.6184 0.6362 0.6445 0.6485 0.6504 0.6513 0.6517
0 0.3333 0.5000 0.5833 0.6236 0.6430 0.6523 0.6568 0.6589 0.6600 0.6605
0 0.4444 0.5925 0.6418 0.6583 0.6638 0.6656 0.6662
0 0.4444 0.5925 0.6419 0.6584 0.6639 0.6657 0.6663
0 0.4444 0.5926 0.6420 0.6584 0.6639 0.6657 0.6663
0 0.3333 0.5000 0.5833 0.6250 0.6457 0.6559 0.6609 0.6634 0.6646 0.6652
0 0.3333 0.5000 0.5833 0.6248 0.6451 0.6549 0.6598 0.6621 0.6632 0.6638
0 0.3333 0.5000 0.5833 0.6236 0.6430 0.6523 0.6568 0.6589 0.6600 0.6605
function [x,k]=jacobi(x0,a,b,ep) ang=diag(a); n=length(ang); for i=1:n for j=1:n a(i,j)=a(i,j)/ang(i); end b(i)=b(i)/ang(i); end
coefficient=a-eye(n); x=[x0]; cha=100; n=1; while cha>ep^2 storage=-coefficient*(x(n,:)')+b'; x=[x;storage']; var=(x(n,:)-x(n+1,:)).^2; cha=max(var); n=n+1; end k=n;
0 0.3333 0.4167 0.4537 0.4689 0.4758 0.4789 0.4804 0.4810 0.4813 0.4815
k1 =
11
.3333 0.4336 0.4659 0.4764 0.4799 0.4811 0.4814
0 0.3889 0.5130 0.5535 0.5668 0.5712 0.5727 0.5732
0
0
0
0
0
0
0
0
333.3333 333.3333 416.6667 472.2222 453.7037 527.7778 468.9429 552.6620 475.8230 563.7860 478.9282 568.9113 480.3652 571.2895
333.3333 333.3333 333.3333 333.3333 500.0000 500.0000 500.0000 500.0000 581.0185 583.3333 583.3333 583.3333 618.4414 623.6497 624.8071 625.0000 636.1561 643.0041 645.0617 645.6887 644.4991 652.3076 654.9466 655.8830 648.4660 656.7778 659.7535 660.8966
相关文档
最新文档