1

我有以下字符串单元格数组:

daycell = 

'd100'
'd104'
'd105'

我想从中制作一个数字数组,如下所示:

array =

100   104   105

我可以使用循环来完成它:

daycell = {'d100';'d104';'d105'}
array = [];
for g = 1:1:length(daycell)
    array(g) = str2double(daycell{g}(2:end));
end

没有循环可以做到吗?没有循环使用它会更好吗?daycell实际上有更多的行。


到目前为止,我可以d使用以下方法消除这封信:

daym = cell2mat(daycell);
daynoD = daym(:,2:end);

daynoD =

100
104
105

但我不知道如何处理字符矩阵。

4

1 回答 1

4

一种方法是使用cellfun

cellfun(@(x)str2double(x(2:end)),daycell);
于 2013-01-07T14:48:11.577 回答