0
我不明白爲什麼我會收到此錯誤消息。我已經實現了一個Gauss-Newton求解器來求解一個線性方程組。Gauss-Newton求解器:使用矩形空矩陣進行不正確的賦值
口口聲聲說不當分配與矩形空矩陣的行"for i=1:m"
function [x, l] = GS(A, b, x0, TOL)
[m n] = size(A);
l = 1;
x = [0;0;0];
while (true)
for i=1:m
sum1 = 0; sum2 = 0;
for j=1:i-1
sum1 = sum1 + A(i,j)*x(j);
for j=i+1:n
sum2 = sum2 + A(i,j)*x(j);
end
end
x(i) = (-sum1-sum2+b(i))./A(i,j);
end
if abs(norm(x) - norm(x0)) < TOL
break
end
x0 = x;
l = l + 1;
end
我已經寫了一個答案。我也用你的Jacobi解算器解決了你的其他問題。如果你不介意,看看我的答案,並接受它,如果我幫助過你......這也是! – rayryeng 2015-02-11 19:32:41
謝謝!我不知道如何接受答案,但我現在看到了。感謝您對我的兩個代碼提供幫助! – user3681755 2015-02-11 19:46:34
沒問題:)我實際上對我的代碼犯了一個小錯誤。我使用'i'在更大的for循環中的兩個for循環中交換了兩個變量。看一看!它雖然沒有改變答案,但它收斂得更快。 – rayryeng 2015-02-11 19:48:59