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

実験で得られたデータ、1,000,000行×1列をplot()でグラフ化しようとするのですが、パソコンの動作が遅くなります。パソコンの動作が遅くならないように実験データを表示するアイデアを探しています。いままで試したことは、plot()のあとにsaveas()を使って画像として保存し、figureをcloseし、画像として表示していました。例えば以下のようなスクリプトを実行すると、重たくなります。実験データは sig としています。
t = 1:1000000; % 時間データ
sig = sin(t*pi/100); %ダミーの実験データ
plot(t,sig) % plot()で表示しようとすると重たい

댓글 수: 2

Yoshio
Yoshio 2019년 3월 20일
편집: Yoshio 2019년 3월 20일
メモリ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 2019년 3월 20일
ありがとうございます。バージョンが要因かわかりませんが、MATLABのバージョンを2018aから2018bに変えてみたら動作が軽くなりました。ノートPCは、windows7、メモリ8Gで、Intel core i3 6100Uです。

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

질문:

2019년 3월 20일

댓글:

2019년 3월 20일

Community Treasure Hunt

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

Start Hunting!