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 commentaires

dpb
dpb le 6 Avr 2018
Sure, just use num2str to write whatever text (if any) you want for each line label and pass to legend
tomer polsky
tomer polsky le 7 Avr 2018
Modifié(e) : tomer polsky le 7 Avr 2018
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

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 7 Avr 2018

0 votes

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 commentaire

tomer polsky
tomer polsky le 15 Avr 2018
thank you very much for your help !!! bless you

Connectez-vous pour commenter.

Plus de réponses (1)

tomer polsky
tomer polsky le 13 Mai 2018

0 votes

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

6 commentaires

legend( sprintfc('K=%g', avals) )
tomer polsky
tomer polsky le 14 Mai 2018
I tried what you said before,how ever i get the wrong colors for some reason
dpb
dpb le 14 Mai 2018
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.
Walter Roberson
Walter Roberson le 14 Mai 2018
However, when you step() a tf, the legend string is created in odd ways; there does not appear to be much control over it.
dpb
dpb le 14 Mai 2018
Modifié(e) : dpb le 14 Mai 2018
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.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by