how to add legend values automatically ?

how to add legend automatically : for exmaple this is my code . the question is how to write the legend without writting every time it manually ?
clc;clear all;close all
t=linspace(0,7*pi,300);
for i= [ 2 3 4 5 ]
plot(t,cos(t+0.1*pi*i));
xticks(0:pi:7*pi)
xticklabels((""+(0:7))+"\pi")
hold on;
legend ('0.2*pi','0.3*pi','0.4*pi','0.5*pi')
end

 Respuesta aceptada

Star Strider
Star Strider el 5 de Abr. de 2019
Try this (considerably simplified version of your code):
t=linspace(0,7*pi,300);
i= [ 2 3 4 5 ];
plot(t,cos(pi*0.1*i(:)*t));
xticks(0:pi:7*pi)
xticklabels((""+(0:7))+"\pi")
legend (sprintfc('%.1f\\pi',i*0.1))
The sprintfc function is undocumented although quite useful. You can also use the compose function to do the same thing here.

2 comentarios

tomer polsky
tomer polsky el 7 de Abr. de 2019
thank you for your help !!!
Star Strider
Star Strider el 7 de Abr. de 2019
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 5 de Abr. de 2019

Comentada:

el 7 de Abr. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by