【matlab】解线性方程组的迭代方法

(一)矩阵 特征 多项式、特征值、特征向量,稀疏矩阵

1、测试函数eig,poly,poly2str

format short g

A=[1 2 3;4 5 6;7 8 9]

A =

1 2 3

4 5 6

7 8 9

p=poly(A)

p =

1 -15 -18 -1.7567e-14

poly2str(p,’x’)

ans =

‘ x^3 – 15 x^2 – 18 x – 1.7567e-14’

d=eig(A)

d =

16.117

-1.1168

-9.7592e-16

A=[0 0 5 0;3 0 3 0;0 0 0 1;0 4 3 0]

A =

0 0 5 0

3 0 3 0

0 0 0 1

0 4 3 0

S=sparse(A)

S =

(2,1) 3

(4,2) 4

(1,3) 5

(2,3) 3

(4,3) 3

(3,4) 1

S=sparse([1 2 2],[1 3 2],[6 7 8],5,5)

S =

(1,1) 6

(2,2) 8

(2,3) 7

full(S)

ans =

6 0 0 0 0

0 8 7 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

s=sparse(3,4)

s =

全零稀疏矩阵: 3×4

full(s)

ans =

0 0 0 0

0 0 0 0

0 0 0 0

B=[1 2 3;4 5 6;7 8 9]

B =

1 2 3

4 5 6

7 8 9

d=[-2,1,3] ;

S=spdiags(B,d,3,6)

S =

(3,1) 7

(1,2) 2

(2,3) 5

(1,4) 3

(3,4) 8

(2,5) 6

(3,6) 9

full(S)

ans =

0 2 0 3 0 0

0 0 5 0 6 0

7 0 0 8 0 9

)专题实验(迭代法求解线性方程组)

1、编写Jacobi迭代格式解线性方程组的函数;

function X_solve=myJacobi(A,b,X0,mytol)

%A为系数矩阵.

%b为右端常向量.

%X0为初始层,默认取0.

%mytol表示允许误差, 要求默认值为1e-6.

%nargin表示输入参数个数

X=diag(A);D=diag(X);L=-tril(A,-1);U=-triu(A,1);X1=ones(size(b));n=1;

if nargin==3 %如果参数=3,

mytol=1e-6;

elseif nargin==2 %如果参数=2

X0=zeros(size(b));

mytol=1e-6;

else %如果参数

Original: https://blog.csdn.net/m0_62883956/article/details/126980290
Author: 黏豆包儿~
Title: 【matlab】解线性方程组的迭代方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/762560/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球