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

12 Ansichten (letzte 30 Tage)
maeda
maeda am 20 Mär. 2019
Kommentiert: maeda am 20 Mär. 2019
実験で得られたデータ、1,000,000行×1列をplot()でグラフ化しようとするのですが、パソコンの動作が遅くなります。パソコンの動作が遅くならないように実験データを表示するアイデアを探しています。いままで試したことは、plot()のあとにsaveas()を使って画像として保存し、figureをcloseし、画像として表示していました。例えば以下のようなスクリプトを実行すると、重たくなります。実験データは sig としています。
t = 1:1000000; % 時間データ
sig = sin(t*pi/100); %ダミーの実験データ
plot(t,sig) % plot()で表示しようとすると重たい
  2 Kommentare
Yoshio
Yoshio am 20 Mär. 2019
Bearbeitet: Yoshio am 20 Mär. 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 am 20 Mär. 2019
ありがとうございます。バージョンが要因かわかりませんが、MATLABのバージョンを2018aから2018bに変えてみたら動作が軽くなりました。ノートPCは、windows7、メモリ8Gで、Intel core i3 6100Uです。

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Community Treasure Hunt

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

Start Hunting!