我想一次从数组constants
中取两个常量,因为我不希望逐个执行这些常量,因为它很耗时;相反,我比较它们引起的变化,只有在两个常数的效果之间有很大的变化时才会做出反应。
我在Matlab 2016a中一次在数组constant
中循环一个样本constants
constants=[45 90 180 360 720 1440 2880 5760]';
for constant=constants
...
end
但是,我想通过一个循环一次取两个常量,比如伪代码
for constant1,constant2=constants
...
end
如何在Matlab的一个for循环中从constants
获取两个常量?
答案 0 :(得分:1)
这样的东西?
for index = 1:length(constants) - 1
c1 = constants(index);
c2 = constants(index + 1);
end
另一种选择是定义一个函数,将每个元素与数组中的下一个元素配对 -
function result = pairAdjacent(array)
result = [array(1:end-1) ; array(2:end)];
end
然后再做
for constant = pairAdjacent(constants)
c1 = constant(1);
c2 = constant(2);
end
回想一下,当你使用符号
时for elem = array
// Now elem is a single column from array
end
变量elem
已连续分配给array
的每个列,因此您的数组constants
需要为1xN数组才能使其正常工作正确。