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

9 vues (au cours des 30 derniers jours)
horizon
horizon le 24 Avr 2019
Commenté : horizon le 24 Avr 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')

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!