how to plot number in legend ?

he this is my code
for a=[ 1 3 5]
hold on;
disp('a')
H1=tf([ a],[3 4 ])
step(H1)
end
I want that in the plot it will be written the value of a of each line in the legend is it possible ?

2 个评论

Sure, just use num2str to write whatever text (if any) you want for each line label and pass to legend
hi thank you for your answer ,but what I meant that it will be like this :
but insted that it will be written in the legend manually it will be written outamtacly

请先登录,再进行评论。

 采纳的回答

avals = [ 1 3 5];
for a = avals
hold on;
disp(a)
H1 = tf([ a],[3 4 ])
step(H1)
end
legend( sprintfc('%g', avals) )
I think that your legend() call in your image has the wrong order. The larger the numerator in the transfer function, the more gain there should be, so the last a drawn, the 5, should be the last legend entry, but you have reversed the order.

更多回答(1 个)

tomer polsky
tomer polsky 2018-5-13

0 个投票

Hi I have other question , how can I write "K=1" and not only "1" ?

6 个评论

legend( sprintfc('K=%g', avals) )
I tried what you said before,how ever i get the wrong colors for some reason
color is independent of the string; that's based on the color spec of the line that your string refers to; it's a 1:1 correlation to those objects in the axes in their created order up to the number of labels passed; if the linestyle you want in the legend is the desired one, you've got to use the optional handle/subject argument to specify which one you mean.
However, when you step() a tf, the legend string is created in odd ways; there does not appear to be much control over it.
Hmmm....didn't notice but presumed tf something else as at least here
>> for a=[ 1 3 5]
hold on;
disp('a')
H1=tf([ a],[3 4 ])
step(H1)
end
a
Undefined function 'tf' for input arguments of type 'double'.
>>
the xfr-function requires a digital filter object for input, not a double so OP may have something else of same name or older release or...???
>> which tf -all
C:\ML_R2017\toolbox\signal\signal\@dfilt\tf.m % dfilt method
>>
Must admit haven't used it ever, though, since like R12 or thereabouts as gave up the consulting gig way back when so need went away...oldest release still at hand is R2014b and it's same need.
So, to OP--what is tf and what does step do to it??? I can't run what you have here to 'spearmint with--
>> which tf(1)
/Applications/MATLAB_R2018a.app/toolbox/control/ctrlmodels/@tf/tf.m % tf constructor
tf() is one of the primary routines for building transfer functions for control systems. step() with no output causes plotting of the transfer function.

请先登录,再进行评论。

类别

标签

Community Treasure Hunt

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

Start Hunting!

Translated by