アナログ入力をプロットするときのエラーを無くす方法
12 views (last 30 days)
Show older comments
直流安定化電源から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')
0 Comments
Accepted Answer
Shunichi Kusano
on 24 Apr 2019
timeが構造体ではないようですが、time.dataですとtimeが構造体であることが前提のコードになってしまっています。そのためのエラーではないでしょうか。
dispコマンドはデータを表示する関数で処理結果に影響はしないので、コメントアウトしてしまうか、
disp(time)
disp(data)
のように2つに分けるかだと思います。
More Answers (0)
See Also
Categories
Find more on 信号の生成、操作および解析 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!