从单元格数组中获取特定的单元格

时间:2018-10-10 15:50:55

标签: arrays matlab cell-array

我有一个大小为1000x1的数字数组,其值为0和1,称为new = current.replace("1","011", 1) 。 我有一个名为conditionArray的单元格数组,其大小相同(1000x1),其单元格包含字符串值(某些电路网络的名称)。 我想从netNames中提取其成对条件位为netNames中的网络名称。 例如。如果conditionArray(100)等于从conditionArray中提取其网名。

此过程的输出可以存储在字符串数组或单元格数组中。 有什么方法可以使用成对操作执行此操作,或者我应该为此使用netNames{100}语句?

2 个答案:

答案 0 :(得分:0)

只要您想在不使用for循环的情况下操纵单元阵列中的每个元素,就应在Matlab中检出cellfun

答案 1 :(得分:0)

据我了解,您有

N = 1000;
% an array with 0s and 1s (this generates random 0s and 1s):
conditionArray = randi([0,1],N);
% a cell array with strings (this generates random 5-character strings):
netNames = cell(N);
netNames = cellfun(@(c)char(randi([double('a'),double('z')],1,5)), netNames, 'UniformOutput',false);

要从netNames为1的conditionArray中提取元素,可以执行以下操作:

netNames(conditionArray==1)

这会将logical indexing用于单元格数组。