Maple vers python

Modérateur : Michel Quercia

Répondre
Her..
Messages : 4
Enregistré le : ven. mars 08, 2019 6:50 pm

Maple vers python

Message par Her.. » mar. juin 11, 2019 4:00 am

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!!

Avatar du membre
LeToucan
Messages : 14
Enregistré le : mer. mai 15, 2019 9:31 pm
Classe : Terminale

Re: Maple vers python

Message par LeToucan » mar. juin 11, 2019 3:27 pm

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 :
mar. juin 11, 2019 4:00 am

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]
TS-SVT-OIB (2018-2019) -> MPSI (2019-2020) -> ?
"If at first you don't succeed ... you fail." - Glados

Avatar du membre
fakbill
Messages : 11214
Enregistré le : mer. juil. 30, 2008 4:59 pm
Classe : Dr.-Ing

Re: Maple vers python

Message par fakbill » jeu. juin 13, 2019 1:48 pm

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é.

Avatar du membre
LeToucan
Messages : 14
Enregistré le : mer. mai 15, 2019 9:31 pm
Classe : Terminale

Re: Maple vers python

Message par LeToucan » jeu. juin 13, 2019 6:04 pm

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.
TS-SVT-OIB (2018-2019) -> MPSI (2019-2020) -> ?
"If at first you don't succeed ... you fail." - Glados

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité