Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB
MATLAB Forum d'entraide sur MATLAB. Avant de poster -> FAQ MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 11h13   #1
Invité de passage
 
Femme
Inscription : février 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : février 2012
Messages : 1
Points : 0
Points : 0
Par défaut changer la limite radiale de la fonction rose

Bonjour,
Je veux changer la borne supérieur de la coordonnée rho dans la fonction rose.m mais je n'ai trouvé aucun moyen de le faire. A chaque fois il trace les cercles d'égale rho en fonction des valeurs que je lui donne. par exemple si mes valeurs vont de 0 a 0.7 impossible de tracer les cercles jusqu'à 1 ils s'arrêtent au mieux a 0.8.
SVP j'ai passer la journée à chercher sans succès...à l'aide
Merci
hibaomrani est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 15h01   #2
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 919
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 919
Points : 15 909
Points : 15 909
Je ne trouve pas de solution simple, néanmoins, on peut créer une version améliorée de la fonction ROSE.

Attention : dans ce qui suit, il faut impérativement travailler sur une copie locale de la fonction ROSE que l'on renommera en MYROSE

Il faut tout d'abord copier le fichier rose.m dans ton dossier de travail courant et le renommer en myrose.m. Il faut aussi renommer la fonction à la première ligne du fichier.

On utilisera donc par la suite myrose à la place de rose.

L'idée est d'affecter un facteur d'échelle aux données à tracer pour obtenir un graphique avec les bonnes limites, puis à appliquer l'échelle inverse aux lignes tracées.

Editer le fichier myrose.m et ajouter le bloc suivant :
Code :
1
2
3
4
5
6
R = 1;

f = max(r(:))/R;

r = r-min(r(:));
r = R*r/max(r(:));
juste avant la ligne suivante (ligne n°72 sous MATLAB R2009a) :

Code :
% Form theta values for histogram triangle from triangle centers (xx)
La variable R donne la valeur de la limite dans la direction rho.

On ajoute également le bloc suivant:
Code :
1
2
3
  x = get(h,'xdata')*f;
  y = get(h,'ydata')*f;
  set(h,'xdata',x,'ydata',y)
juste après les lignes utilisant POLAR :
Code :
1
2
3
4
5
6
if ~isempty(cax)
    h = polar(cax,t,r);
  else
    h = polar(t,r);
  end
Si MATLAB se plaint à propos d'une fonction MCODEREGISTER manquante, il suffit de la copier au même niveau que myrose.m
Elle se trouve dans le dossier donné par cette commande :
Code :
which mcoderegister -all
Une autre solution consiste à modifier dans myrose.m la ligne :
Code :
mcoderegister('Handles',h,'Target',h(1),'Name','rose');
par
Code :
makemcode('RegisterHandle',h,'IgnoreHandle',h(1),'FunctionName','rose');
Voila, c'est l'idée...
__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h21.


 
 
 
 
Partenaires

Hébergement Web