2017-03-22 27 views
0

weekDays{}と呼ばれるセル配列(長さ約1M)があります。各セルインデックスは、曜日のいずれかの文字列(Sunday...Saturday)です。私は整数の週の曜日のマッピングである整数配列を作成しようとしている、例えばSunday -> 1, ..., Saturday -> 7。今、私は私のweekDaysセルアレイ上に、このマップを使用する方法MATLAB:セル配列の文字列をint配列にマッピング

dowKeys = {'Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'}; 
dowVals = [1,2,3,4,5,6,7]; 
dowMap = containers.Map(dowKeys, dowVals); 

:私はこのようなマップを作成しましたか?私はcharでセルエントリを変換するまでdowMapを使用することはできませんが、マップに変換されないように行列に変換するときにいくつかの文字列のスペースを埋めます。私の目標は、この整数配列を取って、それをdummyvar()を使ってワンホットマトリックスに変換することです。

答えて

0

この作品のように見えるが、私はより良いアプローチを聞くことに興味があると思い:

dowOneHot = dummyvar(cell2mat(cellfun(@(x) dowMap(x), DayOfWeek, ... 
    'UniformOutput', false)));