高斯解方程组 Matlab显示了这个错误:“变量”结果似乎在每个循环迭代中改变大小。考虑速度的预分配“< /P>”
我的错在哪里 代码:高斯解方程组 Matlab显示了这个错误:“变量”结果似乎在每个循环迭代中改变大小。考虑速度的预分配“< /P>”,matlab,Matlab,我的错在哪里 代码: 如果代码中没有其他错误,这通常是一个警告。当您定义了一个大小为的数组并使用该数组的额外行或列时,就会发生这种情况。如果您这样做,您的代码运行缓慢。这在Matlab中是一种新事物(可能是最后3或3个版本)。当您更改“结果”时会发生这种情况。@user3037421,请不要为新问题重复使用旧帖子。如果你有新问题,写一篇新文章。这篇文章过去是关于mlint警告wrt预分配的,现在是关于错误消息的。不要这样做此外,请写出问题及其标题,以表明实际问题。标题“高斯解方程组”并不表明你在
如果代码中没有其他错误,这通常是一个警告。当您定义了一个大小为的数组并使用该数组的额外行或列时,就会发生这种情况。如果您这样做,您的代码运行缓慢。这在Matlab中是一种新事物(可能是最后3或3个版本)。当您更改“结果”时会发生这种情况。@user3037421,请不要为新问题重复使用旧帖子。如果你有新问题,写一篇新文章。这篇文章过去是关于mlint警告wrt预分配的,现在是关于错误消息的。不要这样做此外,请写出问题及其标题,以表明实际问题。标题“高斯解方程组”并不表明你在问什么。因为用户为他的新问题发了一篇新帖子,我回滚了他的编辑,恢复了原来的问题。
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