1

私はこのコードを持っています:

filename = 'x.docx';    
nc=2500;    
A=zeros(1,nc);    
matObj = fopen(filename,'w');    
n = 2500*50;    
for k=1:n    
    fprintf(matObj, '% f', A);    
    fprintf(matObj, '%\n', A);    
end

しかし、x.docx非常に大きくなり(2.61G)、開かなくなります。

私に何ができる?

ありがとう

4

1 に答える 1

0

いくつかのこと:

  1. Microsoft 形式のファイルにデータをエクスポートしたい場合は、試してみませんxlswriteか?

  2. あなたのfprintfコマンドは少し奇妙'%\n'です。
    のフォーマットに必要なスペースは'% f'いくつですか? より具体的な例については、文字列の書式設定
    を 調べてみてください。

  3. 完了したら、ファイルを閉じる必要がありますfclose( matObj );

  4. あなたのコードはn、それぞれに 2500 個のゼロを含む (125,000) 行を書き込みます。これだけでも 1 億 2500 万文字です。したがって、2.6 GB のファイルは、実際に書き込む内容からそれほど離れていません...

于 2013-02-27T10:07:09.047 に答える