我想在matlab中计算jacobi迭代的操作次数 我不知道怎么做 !!! 你能帮助我吗 ? 感谢
这是我的牛顿法代码:
b=zeros(30,1);
b(6)=2;
alpha=1;
A=zeros(30,30);
A(1,1)=-(2+alpha);
A(1,2)=1;
for ii=2:29
A(ii,ii-1)=1
A(ii,ii)=-(2+alpha)
A(ii,ii+1)=1
end
A(30,29)=1;
A(30,30)=-(2+alpha);
D=diag(diag(A));
R=A-D;
x=zeros(30,1);
for ii=1:100
xk= inv(D)*(b-R*x);
if(norm(xk-x,1)<=10^-5)
break;
end
x=xk;
end
ii
答案 0 :(得分:0)
你实际上是在计算它。
如果是代码
for ii=1:N
%% Code
end
ii
变量就像计数器一样。
逐步阅读代码:
forII
,其元素为1到N,默认步长为1. forII
的相应元素将分配给ii
%% Code
ii
标量的新值。此行为允许:
counter=1:N
作为真实的计数器。for foo='Hello World!'
。for ii=A
。for
循环被break
或return
提示终止时, queue 中的元素未分配,ii保留最后指定的值。你可以尝试
kk=0;
for ii=1:N
kk=kk+1;
if ii==5
break
end
end
disp(['kk = ' num2str(kk) '; ii = ' num2str(ii)]);
kk=0;
for ii='Hello World!'
kk=kk+1;
if ii=='r'
break
end
end
disp(['kk = ' num2str(kk) '; ii = ' num2str(ii)]);