凡例の系列名に変数の値を入れたいです

凡例に変数のなかの値をいれたいです。方法があれば教えて欲しいです。
open_system( 'MPC_SISO_0_block' )
mpc_out = sim( 'MPC_SISO_0_block' );
figure
title( 'Deterioration of the MPC' )
hold on
plot( mpc_out.ScopeData{1}.Values.Time,mpc_out.ScopeData{2}.Values.Data,'LineWidth',2 )
dm = 0.1;
for cnt = -3:3
dp = dm * cnt;
d_K0 = K0 * dp;
num_p = K0 + d_K0;
plant = tf( num_p, den_p );
open_system( 'MPC_SISO_0_block' )
mpc_out = sim( 'MPC_SISO_0_block' );
plot( mpc_out.ScopeData{1}.Values.Time,mpc_out.ScopeData{2}.Values.Data )
% plot( mpc_out.ScopeData{1}.Values.Time,mpc_out.ScopeData{2}.Values.Data*(1+cnt*0.1) )
end
legend
title( 'MPC K' )
hold off
 これはスクリプトの一部ですが、このd_K0の値を凡例に入れ、例えばd_K0=1のとき、K=1と表示されるようにしたいです。

 채택된 답변

Takumi
Takumi 2020년 6월 24일

1 개 추천

以下のようにしてDisplayNameを設定するのはいかがでしょうか.
open_system( 'MPC_SISO_0_block' )
mpc_out = sim( 'MPC_SISO_0_block' );
figure
title( 'Deterioration of the MPC' )
hold on
plot( mpc_out.ScopeData{1}.Values.Time,mpc_out.ScopeData{2}.Values.Data,'LineWidth',2 )
dm = 0.1;
for cnt = -3:3
dp = dm * cnt;
d_K0 = K0 * dp;
num_p = K0 + d_K0;
plant = tf( num_p, den_p );
open_system( 'MPC_SISO_0_block' )
mpc_out = sim( 'MPC_SISO_0_block' );
txt = ['K=',num2str(d_K0)];
plot( mpc_out.ScopeData{1}.Values.Time,mpc_out.ScopeData{2}.Values.Data ,'DisplayName',txt)
% plot( mpc_out.ScopeData{1}.Values.Time,mpc_out.ScopeData{2}.Values.Data*(1+cnt*0.1) )
end
legend show
title( 'MPC K' )
hold off

댓글 수: 1

sota kagawa
sota kagawa 2020년 6월 24일
実行したところうまく動きました。本当にありがとうございます。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 グラフィックス パフォーマンス에 대해 자세히 알아보기

제품

릴리스

R2020a

질문:

2020년 6월 24일

댓글:

2020년 6월 24일

Community Treasure Hunt

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

Start Hunting!