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

1つの方法は、使用することですcellfun

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