我有一个大小为1000x1的数字数组,其值为0和1,称为new = current.replace("1","011", 1)
。
我有一个名为conditionArray
的单元格数组,其大小相同(1000x1),其单元格包含字符串值(某些电路网络的名称)。
我想从netNames
中提取其成对条件位为netNames
中的网络名称。
例如。如果conditionArray(100)等于从conditionArray
中提取其网名。
此过程的输出可以存储在字符串数组或单元格数组中。
有什么方法可以使用成对操作执行此操作,或者我应该为此使用netNames{100}
语句?
答案 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用于单元格数组。