matlab 矩阵jocobi迭代_MATLAB实现雅克比迭代

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:47   990   0

%

雅克比迭代

clear

all

;

close

all

;

clc;

tic;

format

longe

disp(

'

请输入参数

'

);

K=input(

'

维数

K='

);

tic

A=100*rand(K);

% A

元素是

0-100

for

i=1:K

A(i,i)=sum(abs(A(i,:)))+25*rand(1);

%

对角占优的量为

0~25

end

b=zeros(K,1);

for

i=1:K;

x=0;

for

r=1:K;

x=x+A(i,r);

end

b(i,1)=x;

end

%

产生

b

矩阵,

b

中的元素为

A

中对应行的和,目的是使方程解全为

1

jd=input(

'

控制精度

jd='

);

I=eye(K);

%

单位阵

L=-tril(A,-1);

%

下三角

U=-triu(A,1);

%

上三角

D=diag(diag(A));

%

对角矩阵

B=D\(L+U);

%

迭代矩阵

B=I-D\A;

f=D\b;

%f

x0=zeros(K,1);

%

初始迭代矩阵

y=B*x0+f;

%

迭代公式

s=1;

%

迭代次数

while

norm(y-x0)>=jd&&s<3000;

%

迭代条件

x0=y;

y=B*x0+f;

%

迭代公式

s=s+1;

end

y

s

toc

t=1:K;

yy=abs(y'-1)/1;

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP