查看单个帖子
旧 2019-12-14, 20:46   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 循环分配怀疑

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。使用该功能就变得不可能了。



更多&回答...
poster 当前离线   回复时引用此帖