1,000,000行​×1列の配列をplo​t()でグラフ化しよ​うとすると動作が遅い

11 views (last 30 days)
maeda
maeda on 20 Mar 2019
Commented: maeda on 20 Mar 2019
実験で得られたデータ、1,000,000行×1列をplot()でグラフ化しようとするのですが、パソコンの動作が遅くなります。パソコンの動作が遅くならないように実験データを表示するアイデアを探しています。いままで試したことは、plot()のあとにsaveas()を使って画像として保存し、figureをcloseし、画像として表示していました。例えば以下のようなスクリプトを実行すると、重たくなります。実験データは sig としています。
t = 1:1000000; % 時間データ
sig = sin(t*pi/100); %ダミーの実験データ
plot(t,sig) % plot()で表示しようとすると重たい
  2 Comments
Yoshio
Yoshio on 20 Mar 2019
Edited: Yoshio on 20 Mar 2019
メモリ16GByteのWindwosマシンで実行してみました。
>> tic;
t = 1:1000000; % 時間データ
sig = sin(t*pi/100); %ダミーの実験データ
plot(t,sig)
toc
経過時間は 1.117830 秒です。
>> ver
---------------------------------------------------------------------------------------------------
MATLAB バージョン: 9.5.0.1049112 (R2018b) Update 3
オペレーティング システム: Microsoft Windows 10 Enterprise Version 10.0 (Build 17134)
となりました。
解決策としては、1,000,000のデータの可視化自体詳細表示が難しいと思いますので、間引くか、メモリを増やして、ファイルページングが起こらないようにするのが良いかと思います。
maeda
maeda on 20 Mar 2019
ありがとうございます。バージョンが要因かわかりませんが、MATLABのバージョンを2018aから2018bに変えてみたら動作が軽くなりました。ノートPCは、windows7、メモリ8Gで、Intel core i3 6100Uです。

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!