【发布时间】:2013-11-15 02:09:36
【问题描述】:
我正在使用 Matlab 找到 Jacobi 迭代矩阵的光谱半径,其中 A=[4 2 1;1 3 1;1 1 4]。
在 5 次迭代后,我似乎无法输入正确的命令来获取错误的大小。有人可以帮我吗?
以下是我目前在 Matlab 中输入的命令列表:
A=[4 2 1;1 3 1;1 1 4]
A =
4 2 1
1 3 1
1 1 4
D=diagonal(diagonal(A));L=(A,-1);U=(A,1);
b=([3 -1 4])
x0j=zeros([0 0 0]);
x=D\(-(U+L)*x0j+b);r=b-A*x %Jacobi iteration.
------------------------------------------------------------------------------
Error using *
Inputs must be 2-D, o enter code here r at least one input must be scalar.
To compute element wise TIMES, use TIMES (.*) instead.
【问题讨论】:
-
错误在哪一行?
-
那么
diagonal的功能是什么?你的意思是diag? -
它看起来根本不像正确的 matlab 代码。因为jacobi迭代算法是众所周知的,你可以很容易地在matlab中google正确的实现。