欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > jacobi法解方程心得体会

jacobi法解方程心得体会

时间:2017-04-20 05:13

用jacobi迭代法和高斯塞尔德迭代法解方程组,取初值为零向量迭代二次,求C++程序算法。

x:指定目标矩形区域左上角的X轴逻辑坐标。

y:指定目标矩形区域左上角的Y轴逻辑坐标。

nWidth:指定源在目标矩形区域的逻辑宽度。

nHeight:指定源在目标矩形区域的逻辑高度。

用jacobi迭代法求解线性方程,求助matlab大师

Jacobi迭代法(1)Jacobi迭代法的思想Jacobi迭代法的具体算法如下:对方程组Ax=b,其中A为非奇异矩阵。

设aii≠0(i=1,2,,n),并将A写为三部分:⎡a11⎢A=⎢⎢⎢⎣a22%⎡0⎤⎥⎢⎢−a21⎥−⎢#⎥ann⎥⎦⎢⎢−an−1,1⎢⎣−an10#−an−1,2−an2%0−an,n−1⎤⎡0⎥⎢⎥⎢⎥−⎢⎥⎢⎥⎢0⎥⎦⎢⎣−a120%−a1,n−1a2,n−1#0−a1n⎤−a2n⎥⎥#⎥−an−1,n⎥⎥0⎥⎦=D−L−U于是Ax=b⇔(D−L−U)x=b即x=D−1(L+U)x+D−1b所以解Ax=b的基本迭代公式为∑⎧⎪⎪⎨⎪⎪⎩x(0)=x(k+1)i(x(0)1=(bi,,x(0)n),n−aijx(kjj=1j≠i))\\\/aii(i=1,2,,n)(k=0,1,).(2)Jacobi迭代法的C语言编程下面是Jacobi迭代的C语言编程实例,程序功能是求解线性方程组Ax=b,要求迭代精度小于10-6。

其中⎡8−32⎤⎡x1⎤⎡20⎤A=⎢⎢411−1⎥⎥,x=⎢⎢x⎥2⎥,b=⎢⎢33⎥⎥⎢⎣6312⎥⎦⎢⎣x3⎥⎦⎢⎣36⎥⎦#include#include#include#defineN3doubleCompare(doublea[N],doubleb[N]){doublec=0;inti;for(i=0;i<=N-1;i++)c+=fabs(a[i]-b[i]);returnc;voidJacobi(doubl

matlab 雅可比(Jacobi)迭代法 的问题 求解释

function x=j(e)% 运用Jacobi迭代求解H(n)x=b,其中H(n)为n阶Hibert矩阵,b=h(n)*x,其中x=(1,...,1)'% n表示n阶Hibret矩阵,e表示要求的误差% 计算结果中,x表示方程组的解,m表示所用迭代的步数h=[4 -1 1;4 -8 1;-2 1 5];%系数矩阵x0=ones(3,1);%赋1x=zeros(3,1);%赋0y=x;%赋0b=[7;-21;15];%列矢量s=norm(x-x0,inf);%计算初始误差while s>=e %while循环开始 for i=1:3 %for循环开始 y(i)=(b(i)-h(i,:)*x+h(i,i)*x(i))\\\/h(i,i); end %for循环结束 s=norm(x-y,inf);%计算结束时的误差 x=y;%得出结果xend % s

matlab jacobi 要求用fprintf输出每一步迭代过程。

一、 矩阵的特征值 若矩阵右乘1个矢量后得到的新矢量恰好与原矢量成比例,则称该比例常数为这个矩阵的1个特征值,称该矢量为对应于这个特征值的特征矢量。

例如有矩阵A A= 具有性质: =4× 表明矩阵A有1个特征值为4,相应特征矢量为(2 1 0)T。

矩阵A的特征值 和对应的右特征矢量q的代数方程是: A·q= ·q, 该方程是可相乘的,所以A必定是方阵,因此只有方阵才有特征值。

当A是n阶方阵时,上述方程的一般形式为: (A- ·I)·q=0 任何非平凡解(q=0为平凡解)都必须满足: =0 此特征方程有一般形式: 据此求解特征值的方法并不是一个好方法。

特征值具有下列性质: (1) 特征方程可以分解因式为: (A-3) 即n阶矩阵有n个(可相等也可不相等)特征值。

(2) 矩阵对角元素之和称叫该矩阵的迹(trace),记作tr(A): tr(A)= , 即矩阵特征值的和等于该矩阵的迹。

(3) , 即矩阵特征值的乘积等于该矩阵行列式的值。

如果矩阵是奇矩阵,则矩阵中至少有一个特征值为0。

(4) 矩阵行列式的值与它的转置矩阵的行列式值相等,因而转置矩阵有相同的特征值。

(5) 一个实矩阵得到的特征方程必定有实系数。

因此实矩阵的特征值必定是实数或是共轭复数。

(6) 实对称矩阵A的所有特征值都必定是实数。

这也就是说可用实数形式写出其特征矢量。

(7) 三角矩阵的行列式值是其对角元素的乘积。

如果A是三角阵,则: 与式(A-3)比较可见,三角矩阵的特征值(对角矩阵也同样)等于其对角元素。

(8) 如果矩阵的行及对应的列之间同时交换,则其特征值保持不变。

(9) 如果矩阵某行乘以f且对应列乘以1/f,则矩阵的特征值不变。

二、 矩阵的特征矢量 除亏损矩阵(矩阵有2个或更多个相等的特征值只对应一个左或右特征矢量)外,矩阵的每个特征值都独立对应一个满足方程:A·q= ·q的右特征矢量。

可用消去法求解每一个特征矢量。

例如上述方程式中 =1时的右特征矢量求解如下: = 化为上三角矩阵后,得:q1=q2=2q3。

由于方程 ,奇异,方程有无穷多组解,又右端项为0,齐次,必定有解。

故任何一个矢量q满足A·q= ·q时,则该矢量的某个倍数也一定满足。

求解一个高阶非对称满秩矩阵的每个特征矢量大约需n3\\\/3次乘法,计算量很大。

可以把全部特征值及对应的右特征矢量组合成一个标准特征值方程: A(q1 q2 … qn)= (q1 q2 … qn) , 即AQ=QA。

同理,也有左特征矢量。

A和AT具有同样的特征矢量。

对于每一个与A的某一个特征矢量对应的特征值也都有AT的一个特征矢量p,使得: ATp= ·p 转置该方程。

特征矢量p可看作是A的一个左特征矢量: pTA= ·pT 矩阵方程式A·q= ·q,的全部特征值解列于表A-1中。

表A-1 特征值和左右特征矢量 左特征矢量 特征值 右特征矢量 (7 –10 6)T 4 (2 1 0)T (-1 2 -1)T 1 (2 2 1)T (1 –2 2)T -8 (-2 1 4)T 对称矩阵的转置仍是它自身。

左右特征矢量相同,不必加以区分。

表A-2为一例,其特征矢量一已数乘,使最大元素之值为1。

表A-2 对称矩阵的特征值和特征矢量 矩阵 特征值 右特征矢量 92-1 (1 1 1)T(1 –1 0)T(-0.5 –0.5 1)T 三、 对称矩阵特征矢量的正交性条件 设qi和qj是某一对称矩阵A的特征矢量,对应于不同的特征值 和 ,则 和 转置第2个方程: 。

经简单变换后有: 和 , 因为 ,因此2个方程能相容的唯一可能是: 。

其中 ,称为特征矢量的正交性条件。

如果把每个特征矢量都乘以适当倍数使下式成立: 。

先不考虑有相同特征值的可能性,正交条件组合成: 用Q表示特征矢量的集合,即Q= ,则有: QTQ=I=QQT。

任何满足该方程的实矩阵Q称正交矩阵。

正交矩阵具有重要性质:Q-1=QT。

因此,Q不是奇异的。

任何矢量都可以表示成一个对称矩阵的特征矢量的线性组合: , 即: X=QC 故 C=QTX。

由正交条件可知: AQ=QA (QTQ=I), A=QAQT

jacobi迭代法程序问题matlab

首先,程序好像写错了。

我记得用jacobi解Ax=b的算法是:记D为A的对角线部分,每次循环令x^{n+1}=D^{-1}((D-A)x^{n}+b)。

b是不会变的,而你程序里的b一直在变。

其次,jacobi从来没有保证收敛。

实际上,jacobi对任意初值x0都收敛的充要条件是D^{-1}(D-A)所有特征值的绝对值都小于1。

这里的hilbert矩阵好像不符合这个条件。

话说MATLAB程序写成这样我也是醉了。

MATLAB自带很多矩阵的函数和运算符的啊,比如*可以是矩阵乘法,A\\\\b直接解出Ax=b,diag()可以搞出矩阵的对角线部分,完全不用写那么多for的啊,看得我头疼。

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片