我有一个包含S
,SV
,V
等变量的数组。我想只使用V
变量创建一个新数组,因此,例如:
V
SV
S
V
变为
V
V
在此之后,我需要知道找到每个V
变量的索引,在本例中为索引1和4。
P.S我已尝试在if
循环中使用for
,如下所示:
for i=1:744;
if most_common_string{i} == 'V'
periodo=most_common_string{i};
end
end
但是我没有得到所有V
的数组。事实上,我只是得到一个细胞。
我还尝试使用find
函数来获取索引,但它无效。
答案 0 :(得分:1)
执行此操作的一种方法是修复for
循环。问题是,您始终将值分配给同一个变量。获得那里并不多。您需要添加到数组:
result = {};
indices = [];
for i=1:numel(most_common_string)
if most_common_string{i} == 'V'
indices = [indices;i];
result = [result;most_common_string(i)];
end
end
请注意,Code Analyzer可能会在循环迭代期间抱怨您的数组更改大小。你不能真正避免这种情况,因为你没有计算出数组的大小。
find
可能无法按预期工作,因为它不适合与单元格数组一起使用。
答案 1 :(得分:1)