Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我有一个循环遍历一个数组...
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 。 更多&回答... |
![]() |
![]() |