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

조회 수: 7 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2015년 12월 3일
답변: MathWorks Support Team 2015년 12월 3일
Scope ブロックの信号をワークスペースに出力し、plot 関数で表示したいと考えています。Scope ブロックの入力として入力1 に1つの信号、入力2 に3つの信号をMUXブロックで束ねたものを使用しています。方法を教えてください。

채택된 답변

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 シミュレーション結果の表示에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

제품


릴리스

R2012b

Community Treasure Hunt

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

Start Hunting!