Maple vers python

Messages : 0

Inscription : 08 mars 2019 17:50

Profil de l'utilisateur : Élève de lycée

Maple vers python

Message par Her.. » 11 juin 2019 04:00

Bonjour.
J'ai besoin de convertir quelques lignes de Matlab vers python mais j'y arrive pas,si quelqu'un arrive à m'aider j'en serais reconnaissante.Voici les lignes qui me posent un problème surtout les deux dernières lignes:
for AR=[8,9,10]
j=j+1
b_max=6;
b_step=.1;
b=b_step:b_step:b_max;
plot(b,m);
[m_min.m(j),index]=min(m);
m_min.b(j)=b(index);
Merci d'avance!!

Messages : 0

Inscription : 15 mai 2019 21:31

Profil de l'utilisateur : Élève de lycée

Re: Maple vers python

Message par LeToucan » 11 juin 2019 15:27

Pour les premières lignes, la notation "début : pas : fin" en matlab a pour équivalent "range(debut, fin, pas)" en python. Pour faire des graphiques, il faut regarder chez matplotlib: https://matplotlib.org/3.1.0/tutorials/ ... yplot.html.
Her.. a écrit :
11 juin 2019 04:00

Code : Tout sélectionner

[m_min.m(j),index]=min(m);
m_min.b(j)=b(index);
La fonction "min" de Matlab retourne deux valeurs, la valeur du minimum et son indice dans le tableau. Ici donc on affecte la valeur du minimum à "m_min.m(j)" (la j-ème case du tableau m_min.m) et l'indice de ce minimum à "index". En python, tu peux utiliser la fonction "min()" et la méthode ".index()" pour donner l'indice du minimum. La dernière ligne assigne un élément d'un tableau à un autre.

En python cela ressemblera à qqchose comme ça:

Code : Tout sélectionner

m_min_m[j] = min(m)
indice = m.index(m_min_m[j])
m_min_b[j] = b[indice]
"If at first you don't succeed ... you fail." - Glados

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Maple vers python

Message par fakbill » 13 juin 2019 13:48

Tout comme pour la traduction des langues "naturelles", traduire groupe de mots pour groupe de mot est une mauvaise idée.
Mieux faut prendre un peu de recul, regarder ce que le code fait et se demander comment on coderait cette fonctionnalité dans le langage cible.

Ok dans ce cas matlab et numpy/scipy/matplotlib sont très proches (numpy a été conçu pour ça...) mais, en general, c'est une mauvaise idée. Ca donne par ex des Setter/Getter en python quand on traduit un code java (alors que ce n'est pas du tout dans le style de python).
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Messages : 0

Inscription : 15 mai 2019 21:31

Profil de l'utilisateur : Élève de lycée

Re: Maple vers python

Message par LeToucan » 13 juin 2019 18:04

Je pense que ce qui posait problème à Her.. principalement c'était la syntaxe de matlab (le "dépacketage" et les tableaux indexés avec des parenthèses sont peut être pas très intuitifs). Mais vous avez raison, je précise que je n'ai pas essayé de comprendre ce que le code faisait (à cause du manque de contexte) et c'est simplement une explication de la syntaxe.
"If at first you don't succeed ... you fail." - Glados

Répondre