필터 지우기
필터 지우기

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

조회 수: 25 (최근 30일)
maeda
maeda 2019년 3월 20일
댓글: maeda 2019년 3월 20일
実験で得られたデータ、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개)

카테고리

Help CenterFile Exchange에서 アニメーション에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!