我有一个单元格矩阵,其中第一个“列”有字符串,第二个“列”有数字。假设我想在第二列中执行相同的操作。如果这个细胞矩阵是一个常见的矩阵,我可以这样做:
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进行这个运算?
最佳答案
提供替代方案:
BKS(:,2) = num2cell(100*[BKS{:,2}].');
或
BKS(:,2) = cellfun(@times, BKS(:,2), repmat({100}, size(BKS,1),1), 'UniformOutput', false);
关于Matlab-元胞矩阵中给定列的运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21116870/