在方括号的情况下为for循环

时间:2017-02-22 12:17:08

标签: matlab for-loop

我研究了与我的工作相关的代码,其中使用了for循环,如下所示:

for jcyc=3:3:57
    [ddx, cycl_ind(jcyc)] = min(abs(jcyc-time_2));
end

此处time_2 = 1×1800

在方括号中,ddxcycl_ind(jcyc)的功能对我来说并不清楚。方括号和ddxcycl_ind(jcyc)里面使用了什么?

1 个答案:

答案 0 :(得分:0)

这里有意义的部分是

[ddx, cycl_ind(jcyc)] = min(abs(jcyc-time_2));

让我们简化一下,了解min()在Matlab中的工作原理。

clear all;
a=[2,1,3];
val = min(a);

给你val = 1 - 最小值。

clear all;
a=[2,1,3];
[val,pos] = min(a);

给你val = 1,pos = 2 - 最小值和该值的索引。在这种情况下,min()将返回2个值。

clear all;
a=[2,1,3];
val,pos = min(a);

会给你一个错误:

Undefined function or variable 'val'.

您需要使用括号从这些函数中获取多个输出值,并将结果存储在不同的变量中。

相关问题