Bonjour,
Je dispose d'une série de données, composée d'un vecteur x et d'un vecteur y.
Je voudrais identifier un modèle mathématique à partir de cette série de données.
Mon idée est de définir une classe contenant l'ensemble des équations à identifier.
Je veux faire une boucle sur le nombre de fonction à identifier.
Pour se faire, j'ai bricolé une fonction permettant de lister l'ensemble des équations à identifier.
Mon soucis est que je retourne des strings avec cette fonction.
Du coup, je ne peux pas m'en servir pour appeler les fonctions de la classe MODEL().
Je ne sais pas trop comment faire.
Auriez-vous des suggestions ?
Je vous remercie par avance.
Cordialement,
Benjamin.
Ps : Je tiens à préciser que je débute en python et encore plus avec l'objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import numpy as np from scipy.integrate import curve_fit class MODEL: def FONCTION1(X, PARAM1, PARAM2): return PARAM1+np.cos(X)*PARAM2 def FONCTION2(X, PARAM1, PARAM2): return PARAM1+np.cos(X)*PARAM2 def LIST_FUNC(cls): return [x for x, y in cls.__dict__.items() if type(y)==FunctionType] TEST = MODEL() for i in range(len(LIST_FUNC(MODEL)): popt, pcov = np.curvefit(TEST.LIST_FUNC[i], xdata, ydata)
Partager