PDA

查看完整版本 : 循环分配怀疑


poster
2019-12-14, 20:46
result是什么意思在Matlab中的while循环内

while (some_condition == 1) A = somefunc(); result(iteration) = A; iteration = iteration + 1; ... end

回答:

唯一合理的选择似乎是result是在while循环之外定义的变量(数组或矩阵),并且您将值A分配给result索引iteration 。

[编辑]第二种选择是: result是函数作为参数iteration 。虽然从理论上讲这是可行的,但没有意义,因为在MATLAB中为函数的结果分配值会创建一个具有该函数名称的变量,结果将该函数隐藏在变量的范围内。

例如,尝试:

a = randi(10, 10, 2); sum(a) = 5 b = 6; sum(b) 如您所见, sum(b)不会返回6(= b)。现在,它返回数组sum的第6个元素,在第二行代码中将其设置为5。使用该功能就变得不可能了。



更多&回答... (https://stackoverflow.com/questions/5502555)