我想在Matlab中乘以单元数组的一部分(请参见下面的示例。)>
my_cell1 = {'a', 'b', 'c'; 'd', '1', '2'; 'e', '3', '4'}; % Looks like: % a b c % d 1 2 % e 3 4 my_cell2 = my_cell1; my_cell2(2:3, 2:3) = num2cell(str2double(my_cell2(2:3, 2:3)) * 2); %Multiply the numbers by factor 2 my_cell3 = {'a', 'b', 'c'; 'd', '2', '4'; 'e', '6', '8'}; isequal(my_cell2, my_cell3) %False
[显然,
my_cell2
不等于my_cell3
。似乎是这种情况,因为my_cell2
中的数字现在已加倍,不再是字符串/字符。但是,当我尝试将它们用作字符串时,出现错误:
my_cell2 = my_cell1; my_cell2(2:3, 2:3) = num2str(str2double(my_cell2(2:3, 2:3)) * 2); %Error: Conversion to cell from char is not possible.
如何将
my_cell2
相乘,使其最后等于my_cell3
?
我想在Matlab中乘以单元数组的一部分(请参见下面的示例)。 my_cell1 = {'a','b','c'; 'd','1','2'; 'e','3','4'}; %看起来像:%a b c%d 1 2%e 3 4 my_cell2 = my_cell1; my_cell2(2:...
[使用cellfun
添加一个中间步骤以将cellfun
应用于(子)单元格数组中的每个单元格: