expand array within for loop

1 visualización (últimos 30 días)
Josefina Ottitsch
Josefina Ottitsch el 3 de Abr. de 2019
Comentada: Walter Roberson el 3 de Abr. de 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!

Respuesta aceptada

Walter Roberson
Walter Roberson el 3 de Abr. de 2019
legend( [1 2] + [".Q"; ".SR"; ".r"] )
Requires R2017a or later.
  2 comentarios
Josefina Ottitsch
Josefina Ottitsch el 3 de Abr. de 2019
thank you so much!
Walter Roberson
Walter Roberson el 3 de Abr. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by