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

%

雅克比迭代

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值