0

以下のような大きなテキスト ファイルが にインポートされていますMATLAB

Run Lat Long Time
1 32 32 34
1 23 22 21
2 23 12 11
2 11 11 11
2 33 11 12

最大10ランなど

そこで、ファイル内の各セクション (セクション 1、セクション 2 など) を分割して、10 個の異なるテキスト ファイルに書き込もうとしています。ファイル 1 には実行 1 のデータが含まれます。ファイル 2 には実行 2 のデータが含まれます。

4

2 に答える 2

1

あなたが探しているのは、Matlab の textread functionです。必要な部分を提供し、ロジックを構成しますが、自分で部分を接続する必要があります:)

あなたの読書はこのようになります

[head1, head2, head3, head4] = textread(file_name,'%s %s %s %s',1);
[run, lat, long, time] = textread(file_name,'%u %u %u %u');

書き込みメソッドはループを使用して値を反復処理します

unique(run)

でファイルを作成する

fout = fopen([base_file_name_out num2str(run_number)]);

に含まれる値を書き込む

lat_this_run=Lat(run==run_number);

メソッドを使用して

fprintf(fout,'%u %u %u\n', lat_this_run, long_this_run, time_this_run)

于 2012-08-18T15:50:57.370 に答える
0

データがすでにmatlabにロードされ、名前が付けられているA場合は、次のように実行できます。

>> a = max(A(:,1));
>> AA={};
>> for i = 1:a
     AA{i}=A(find(A(:,1)==i),:)
     name=sprintf('%d.txt',i);
     dlmwrite(name,AA{i},'\t');
   end

出力は、タブ区切りのデータを含む.txtファイルになります。

于 2012-08-18T16:26:20.307 に答える