1

私は ASCII データを Matlab にロードしていますが、その後の分析をより簡単にするために、構造体ではなくセル配列として保存することをお勧めします。

このuiimport関数を使用すると、データをセル配列としてインポートできますが、グラフィカル インターフェイスを使用せずに多数のデータをインポートしたいと考えています。今、私はimportdata関数を次のように使用しようとしています:

data=importdata(filename,'\t',15);

データを構造体として保存するという事実を除いて、これは完全に機能します。これを行う他の方法はありますか、それとも構造体のセルを作成するのが最速でしょうか?

よろしくお願いします!

4

1 に答える 1

1

私はまだ非常にきれいな解決策を持っていませんが、うまくいきます。importdata結局のところ、forループを使用して、各被験者と試行の構造化配列を含むセルを作成し、

    ntrials=4; %# of trials per subject
    datanamelist=['subjectA'; 'subjectB'; 'etc' ];
    for i=1:size(datanamelist,1)
        for j=1:ntrials;
        filename=sprintf('%s%g.txt',datanamelist(i,:),j);
        PDdata{i,j}=importdata(filename,'\t',15); %first 15 lines are headers
        end
    end

特定の各配列からデータを抽出し、次のようにアクセスできるようになりました。PDdata{subject,ntrials}.data

そして、すべてのデータを含む4Dマトリックスを作成します(被験者iと試行jをループします)

dataMatrix(:,:,i,j)=PDdata{i,j}.data

よりきれいなソリューションは引き続き歓迎されます

于 2013-08-13T09:53:45.797 に答える