2010-05-10 7 views
1

Voici le code je:Comment faire pour que les légendes matlab correspondent à la couleur des graphiques?

x = linspace(0,2); 
e = exp(1); 
lin = e; 
quad = e-e.*x.*x/2; 
cub = e-e.*x.*x/2; 
quart = e-e.*x.*x/2+e.*x.*x.*x.*x/24; 
act = e.^cos(x); 
mplot = plot(x,act,x,lin,x,quad,x,cub,x,quart); 
legend('actual','linear','quadratic','cubic','quartic') 

Ce produit une légende correspondant aux bonnes couleurs réelles et linéaire, puis après qu'il semble sauter rouge sur le graphique, mais pas sur la légende, à savoir la la légende dit que le quadratique devrait être rouge, mais le graphique le montre comme vert, la légende dit que cubic devrait être vert, mais le graphique le montre comme le violet etc.

Toute aide est appréciée.

Répondre

2

La courbe lin doit être corrigée --- maintenant vous avez juste un tas de points au lieu d'une ligne. quad et cub doivent également être corrigés (voir ci-dessous).

x = linspace(0,2); 
e = exp(1); 
lin = ones(size(x))*e; %#Now it's a vector with the same size as x 
quad = e-e.*x.*x/2; 
cub = e-e.*x.*x/2; 
quart = e-e.*x.*x/2+e.*x.*x.*x.*x/24; 
act = e.^cos(x); 
mplot = plot(x,act,x,lin,x,quad,x,cub,x,quart); 
legend('actual','linear','quadratic','cubic','quartic') 

sont-quad et cub censé être la même chose? Peut-être qu'il devrait être:

quad = e-e.*x.*x/2; 
cub = e-e.*x.*x.*x/2; 
+0

Merci, ça marche maintenant –

Questions connexes