expand array within for loop
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Josefina Ottitsch
le 3 Avr 2019
Commenté : Walter Roberson
le 3 Avr 2019
hello,
I have this code:
close all
x=[0,1,2,3,4,5]
x1=sin(x)
p1=x1(2)
p2=x1(3)
x3=cos(x)
p4=x3(2)
p5=x3(3)
figure(1)
plot(x1)
hold all
plot([2],[p1],'o')
plot([3],[p2],'o')
plot(x3)
plot([2],[p4],'o')
plot([3],[p5],'o')
k=2
for k=1:k
ls1=[num2str(k),'.Q']
ls2=[num2str(k),'.SR']
ls3=[num2str(k),'.r']
end
legend(ls1,ls2,ls3)
and I would like to fix the legend. I want my program to tell me that the 6 legend variables are: 1.Q,1.SR,1.r,2.Q,2.SR,2.r
Right now the program is overwriting the outcome of the for loop.
How do I do this?
Thank sou yo much!
0 commentaires
Réponse acceptée
Walter Roberson
le 3 Avr 2019
legend( [1 2] + [".Q"; ".SR"; ".r"] )
Requires R2017a or later.
2 commentaires
Walter Roberson
le 3 Avr 2019
Note that for this purpose it was important that the first part [1 2] be a row vector and the second part [".Q"; ".SR"; ".r"] be a column vector, and that R2016b or later were used, as "implicit expansion" is used here to get all combinations of the two. The restriction to R2017a or later is because the string object syntax "" was introduced in R2017a. There is a way to extend the use of string objects to R2016b as well. String objects did not exist before R2016b, so for earlier releases a different approach would have to be used.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Legend dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!