アナログ入力をプロッ​トするときのエラーを​無くす方法

直流安定化電源から3Vの電流を流して、MATLABでプロットしようとしています。
現在、MATLABのドキュメントAcquire Data Using NI Devicesを参考にしながらプロットするためのコードを書いて実行したのですが、以下のエラーを修正する方法がわからず困っています。アドバイスをいただきたいです。
構造体の内容が非構造体配列オブジェクトから参照されています。
エラー:programname(line13)
disp(time.data);
timeの値は「16000x1 double」で、中身を確認したところ
0
1.2500e-04
2.5000e-04
...
0.0011
0.0013
...
1.9999(最後)
となっていました。
実行中のプログラム
s = daq.createSession('ni');
ch = addAnalogInputChannel(s,'Dev1', 'ai1', 'Voltage');
s.Rate = 8000;
data = s.inputSingleScan;
disp(data)
s.DurationInSeconds = 2;
[data,time] = s.startForeground;
plot(time,data);
disp(time.data);
xlabel('Time (secs)');
ylabel('Voltage')

 採用された回答

Shunichi Kusano
Shunichi Kusano 2019 年 4 月 24 日

2 投票

timeが構造体ではないようですが、time.dataですとtimeが構造体であることが前提のコードになってしまっています。そのためのエラーではないでしょうか。
dispコマンドはデータを表示する関数で処理結果に影響はしないので、コメントアウトしてしまうか、
disp(time)
disp(data)
のように2つに分けるかだと思います。

1 件のコメント

horizon
horizon 2019 年 4 月 24 日
ありがとうございます。
こちら解決いたしました。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2017b

質問済み:

2019 年 4 月 24 日

コメント済み:

2019 年 4 月 24 日

Community Treasure Hunt

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

Start Hunting!