我想編碼高斯消除,這是我正在使用的代碼段。矩陣已經是三角形的,而是有這表達了一個錯誤:Matlab中的矩陣索引和除法
x(n) = b(n)/A(n, n);
下面是完整的一段代碼:
function [x] = gauss(A, b)
n = size(A);
for k=1 : n-1
for i=k+1 : n
m = A(i, k)/A(k, k);
for j=1 : n
A(i, j) = A(i, j) - m * A(k, j);
end
b(i) = b(i) - m * b(k);
end
end
x(n) = b(n)/A(n, n);
disp(double(b(n)));
for k=n-1 : -1 : 1
s=0;
for i=k+1 : n
s = s + A(k, i) * x(i);
end
x(k) = (b(k) - s)/A(k, k);
end
disp(x);
end
感謝您的幫助。順便說一句IM在Matlab新手...
編輯:添加一些更多的信息
林調用這樣此功能: A = [6 3 2; 9 -1 4; 10 5 3] B = [12 37 21]
sol = gauss(A, b);
行計數哪些A和B的尺寸? – sfotiadis 2013-02-25 22:17:51
現在問題已更新。 :) – 2013-02-25 22:21:22