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

15 ビュー (過去 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 Center および File ExchangeMATLAB 入門 についてさらに検索

Community Treasure Hunt

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

Start Hunting!