私は、電極グリッド上の記録から多くのデータを読み込んで、各電極ごとに1つずつ、複数のサブプロットを含むFigure上の各電極からのトレースをプロットします。多数のサブプロットをプロットするときにMATLABが遅くなるのはなぜですか?
for traces = 1:rows*columns;
subplot(rows,columns,traces);
baseline = mean(EX_output(1:baseline_time,traces));
plot(EX_output(1:timepoints,traces));
axis([000 timepoints baseline-60 baseline+60])
axis off
disp(traces); %print out trace completed
end
900個のトレース(30x30)があります。これは動作して数字を出しますが、時間がかかります(2〜3時間)。
トレースが終了すると、番号を印刷します。それは約300まで速く見えますが、それ以降は減速し始め、減速し続けます。プロットプロセスをどのようにスピードアップできますか?
コンピュータにはRAMが必要ですが、あまりにも多くのRAMを使用するとコンピュータの速度が低下します。また、データを表示する最善の方法は30x30サブプロットグリッドですか? 20000x20000より小さいディスプレイで実際に何かを見ることができますか? –
*すべてのプロットが必要な場合(@AnderBiguriは何も見えないと言っていたので、誠に疑問に思っています)、それぞれのトレースを別々のプロットとして「visibility」、「off ''を実行し、それをディスクに直接保存します。必要に応じて、ファイルブラウザでプロットを確認することができます。 – Adriaan
私はそれが記憶であるかどうかはわかりません。私は以下のスクリプトを実行しようとし、1GBのメモリしか使いませんでした。私はまた、5ミリ秒/プロットから始まり、0.1秒/プロットで終わることを見る。 'ct = 1:900、tic; subplot(30,30、ct); fprintf( '%。3fsec、%.0f \ n'、toc、ct); end' – Gelliant