单元格矩阵中给定列中的Matlab操作
我有一个单元格矩阵,第一列有字符串,第二列有数字。假设我想在第二列中执行相同的操作。如果这个细胞基质是普通基质,我可以:单元格矩阵中给定列中的Matlab操作,matlab,matrix,cell,Matlab,Matrix,Cell,我有一个单元格矩阵,第一列有字符串,第二列有数字。假设我想在第二列中执行相同的操作。如果这个细胞基质是普通基质,我可以: matrix(:,2)=matrix(:,2)*100; 但我不知道如何在细胞矩阵中进行,当我以不同的方式尝试时,它会给我带来错误: >> BKS{:,2}=BKS{:,2}*100 Error using * Too many input arguments. >> BKS(:,2)=BKS(:,2)*100 Unde
matrix(:,2)=matrix(:,2)*100;
但我不知道如何在细胞矩阵中进行,当我以不同的方式尝试时,它会给我带来错误:
>> BKS{:,2}=BKS{:,2}*100
Error using *
Too many input arguments.
>> BKS(:,2)=BKS(:,2)*100
Undefined function 'mtimes' for input arguments of type 'cell'.
如何使用matlab进行此操作?使用
cellfun
(基本上是循环)
使用
cellfun
(基本上是循环)
提供替代方案:
BKS(:,2) = num2cell(100*[BKS{:,2}].');
或
提供替代方案:
BKS(:,2) = num2cell(100*[BKS{:,2}].');
或
BKS(:,2) = cellfun(@times, BKS(:,2), repmat({100}, size(BKS,1),1), 'UniformOutput', false);