【发布时间】:2014-02-23 14:27:16
【问题描述】:
Matlab 显示此错误:“变量 'result' 似乎在每次循环迭代时都会改变大小。考虑预分配以提高速度”
我的错误在哪里?
代码:
function result = gaussSolutionOfSLAY( Matrix, Vector )
sizeMatrix = size(Matrix);
rows = sizeMatrix(1);
columns = sizeMatrix(2);
extended = [Matrix Vector];
for k = 1:rows
if (extended(k,k) ~= 0)
extended(k,:) = extended(k,:)./extended(k,k);
for i = k + 1:columns
extended(i,:) = extended(i,:) - extended(k,:)*extended(i,k);
end
else
disp('Division by thero');
return
end
end
result = extended(rows, columns);
for k = rows - 1:-1:1
result = [extended(k, columns + 1) - sum(extended(k, columns - (length(result) - 1):c) * result) result];
end
end
【问题讨论】:
-
@user3037421,请不要重复使用旧帖子来解决新问题。如果您有新问题,请发布新帖子。这篇文章曾经是关于预分配的 mlint 警告,现在是关于错误消息。不要这样做! – 此外,请写出问题及其标题,以表明实际问题。标题“高斯求解方程组”并不表示您要问什么。
-
由于用户为他的新问题发了一个新帖子,我回滚了他对这个问题的编辑,恢复了原来的问题。
标签: matlab