Scope ブロックの信号をワークスペースに出力し、plot 関数で表示するにはどうすればいいですか?

3 visualizzazioni (ultimi 30 giorni)
MathWorks Support Team
MathWorks Support Team il 3 Dic 2015
Scope ブロックの信号をワークスペースに出力し、plot 関数で表示したいと考えています。Scope ブロックの入力として入力1 に1つの信号、入力2 に3つの信号をMUXブロックで束ねたものを使用しています。方法を教えてください。

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 3 Dic 2015
Scope ブロックのデータをインデックスを用いてプロットできます。添付のモデルを用いた記述例を以下の通りです。
 
t = ScopeData.time;
ch1_sig1 = ScopeData.signals(1).values;
ch2_sig1 = ScopeData.signals(2).values(:,1);
ch2_sig2 = ScopeData.signals(2).values(:,2);
ch2_sig3 = ScopeData.signals(2).values(:,3);
figure
subplot(211), plot(t, ch1_sig1)
subplot(212), plot(t, ch2_sig1, t, ch2_sig2, t, ch2_sig3)
モデル exScope.slx では、Scope ブロックの入力として入力1 に1つの信号、入力2 に3つの信号をMUXブロックで束ねたものを使用しています。シミュレーション実行で、これらの信号のデータを ScopeData という時間付き構造体として保存されます。入力データは ScopeData.signals 構造体に保持され、その内、ScopeData.signals(1)は入力1の、ScopeData.signals(2)は入力2のデータからなります。ScopeData.signals(2) は実際3つの信号チャンネルからフィードされますので、values フィルドでチャンネル番号(列)を指定することで該当するチャンネルの信号が得られます。

Più risposte (0)

Tag

Non è stata ancora inserito alcun tag.

Prodotti


Release

R2012b

Community Treasure Hunt

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

Start Hunting!