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