我有一个循环遍历一个数组...
for i=1:length(myArray) 在此循环中,我要检查myArray的值,如果满足某些条件,则将其添加到另一个数组myArray2中。我浏览了MATLAB文档,但是在创建数组时找不到任何东西,而没有声明初始化时的所有值或一次将数据读入它们。
非常感谢!
回答:
我猜你想要比这更复杂的东西
myArray = [1 2 3 4 5]; myArray2 = myArray(myArray > 3); 做您要问的最简单(但最慢)的方法是
myArray2 = []; for x = myArray if CheckCondition(x) == 1 myArray2 = [myArray2 x]; %# grows myArray2, which is slow end; end; 您可以使用以下方法对它进行优化
myArray2 = NaN(size(myArray)); ctr = 0; for x = myArray if CheckCondition(x) == 1 ctr = ctr + 1; myArray2(ctr) = xx; end; end; myArray2 = myArray2(1:ctr); %# drop the NaNs 您可能还需要研究
ARRAYFUN 。
更多&回答...