Matlab Legend Function dose not work at all
21 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Zachery
el 3 de Abr. de 2024
Respondida: Voss
el 3 de Abr. de 2024
I am simply trying to make legends on a graph with multiple traces on a single graph which should be easy with the 'legend' function.
x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)
hold on
y2 = cos(2*x);
plot(x,y2)
legend('legend1','legend2')
When I run the code above I get error message "Index in position 1 exceeds array bounds (must not exceed 1)." on the line for the legend I am using version MatlabR2021a if that helps
0 comentarios
Respuesta aceptada
Star Strider
el 3 de Abr. de 2024
Editada: Star Strider
el 3 de Abr. de 2024
There are no errors when I run your code —
x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)
hold on
y2 = cos(2*x);
plot(x,y2)
legend('legend1','legend2')
If the problem is only with the legend call, check to see if you have a variable or function called ‘legend’ somehwere in your workspace or on your MATLAB search path —
which legend -all
The result should be only what is shown here. If there are any other entries, that points to the problem. The soution is to re-name your variable to something different, and that makes sense in the context of your code.
.
EDIT — Corrected typographical errors.
.
0 comentarios
Más respuestas (1)
Voss
el 3 de Abr. de 2024
You have a variable called legend in your workspace interfering with you calling the legend function.
Run
clear legend
to clear that variable and then run your code again.
0 comentarios
Ver también
Categorías
Más información sobre Legend en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
