|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
:@L要求每次迭代的结果都输出,但是再循环里边加上输出语句时什么都输出不了,只能输出最终结果,麻烦 高手赐教。
M文件
function y=gaussseidel(A,b,x0)
D=diag(diag(A));
U=-triu(A,1);
L=-tril(A,-1);
G=(D-L)\U;
f=(D-L)\b;
y=G*x0+f;
n=1;
while norm(y-x0)>=1.0e-6&n<=1000
x0=y;
y=G*x0+f;
n=n+1;
end
fprintf('方程组的解y=');
y
fprintf('\n');
fprintf('迭代次数n=',y);
n
所编程序
>> A=[10,0,1,-5;1,8,-3,0;3,2,-8,1;1,-2,2,7]
A =
10
0
1
-5
1
8
-3
0
3
2
-8
1
1
-2
2
7
>> b=[-7,11,23,17]';
>> x0=[0,0,0,0]';
>> gaussseidel(A,b,x0)
方程组的解y=
y =
1.0000
0.5000
-2.0000
3.0000
迭代次数n=
n =
14
ans =
1.0000
0.5000
-2.0000
3.0000
>>
[ 本帖最后由 eight 于 2007-12-15 11:04 编辑 ] |
|