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

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

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 3 Dez. 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 フィルドでチャンネル番号(列)を指定することで該当するチャンネルの信号が得られます。

Weitere Antworten (0)

Tags

Noch keine Tags eingegeben.

Produkte


Version

R2012b

Community Treasure Hunt

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

Start Hunting!