アナログ入力をプロットするときのエラーを無くす方法
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
horizon
am 24 Apr. 2019
Kommentiert: horizon
am 24 Apr. 2019
直流安定化電源から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 Kommentare
Akzeptierte Antwort
Shunichi Kusano
am 24 Apr. 2019
timeが構造体ではないようですが、time.dataですとtimeが構造体であることが前提のコードになってしまっています。そのためのエラーではないでしょうか。
dispコマンドはデータを表示する関数で処理結果に影響はしないので、コメントアウトしてしまうか、
disp(time)
disp(data)
のように2つに分けるかだと思います。
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!