[Matlab] Forcer la couleur d'une courbe

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
utopeace

[Matlab] Forcer la couleur d'une courbe

Message non lu par utopeace »

Bonjour,

Je souhaite superposer plusieurs réponses impulsionnelles (4 pour être exact) sur le même graphique et pouvoir les dissocier par un code couleur. En effet, je souhaite montrer l'influence de la variation de l'un des paramètres du système que j'étudie.

J'utilise actuellement les lignes suivantes :

Code : Tout sélectionner

figure()
set(gca, 'fontsize', 16);
for i=1:length(angles)
    impz(num(:,i), den, plot_time_samples, Fs) ;
    hold on
end
xlabel('Time (s)')
ylabel('Amplitude')
title('Impulse responses  ')
Mais je ne parviens pas à trouver de solution pour associer une couleur à chaque réponse impulsionnelle. Auriez-vous des idées ?

Merci d'avance !
nirosis
Modérateur honoraire
Modérateur honoraire
Messages : 1803
Inscription : samedi 28 mai 2005, 14:48
Localisation : Orsay, France

Re: [Matlab] Forcer la couleur d'une courbe

Message non lu par nirosis »

Regarde ici : http://www.mathworks.com/matlabcentral/ ... efficients

peut-être que tu peux utiliser la fonction stem
utopeace

Re: [Matlab] Forcer la couleur d'une courbe

Message non lu par utopeace »

Génial, merci beaucoup nirosis ! Simple et efficace.

Je partage ma solution finale si ça intéresse quelqu'un:

Code : Tout sélectionner

for i=1:length(angles)
    [himp(:,i), timp]=impz(num(:,i), den, plot_time_samples, Fs) ;
    hold on
end
figure()
set(gca, 'fontsize', 16);
stem(timp,himp(:,1),'b')
hold on
stem(timp,himp(:,2),'r')
stem(timp,himp(:,3),'k')
stem(timp,himp(:,4),'m')
xlabel('Time (s)')
ylabel('Amplitude')
title('Impulse responses (T=0.04ms)   ')
legend('0°','60°','90°','180°')