Ça, c’est le premier probleme que tu as rencontré dans ton programme. Tu voulais utiliser le rapport Vin/Vout, mais tu t’es rendu compte que ça foirait suivant si vin/vout <> vout/vin. Malin, tu as donc réécrit 2 fois quasiment la meme chose en conditionnant. Ça, c’était évitable puisque c’est purement mathématique. On sait faire ou on ne sait pas, mais c’est faisable. Je n’ai pas la prétention d’etre un matheux, mais pour faire mon boulot, je suis bien obligé d’en faire un peu et voilà comment je vois la chose :
Une chose est déjà sure, si tu connais R2, Vin, Vout, tu sais trouver R1 (je l’ai lu précédemment) :
Pour l'équation, Considérons U = Vin/Vout
R1 = (R2 . U) – R2
Facile, et ca tu sais faire. Là où ça coince visiblement, c’est pour trouver R2 à partir R1 et c’est effectivement un poil plus .. Moins facile.
Je te la décompose comme si on était à l’école (d’où je me suis enfuit il y a bientôt 40 ans ...)
Donc on sait que :
R1 = (R2.U)-R2
Ce qui signifie que :
R2.U = R1+R2
Que l’on peut décomposer :
U = (R1+R2)/R2 = (R1/R2)+(R2/R2) = (R1/R2)+1
Pour arriver à :
U -1 = R1/R2
Donc, fatalement, il est évident que :
R2 = R1/(U-1)
(C’est ce que j’adore sur ce forum. 4 pages à batailler à faire une pseudo synthèse de U = RI et 4 lignes pour arriver à x = z/(y-1) en partant de (xy)-x = z …)
Donc premiere étape du programme en python, itérer E12 pour trouver R2 ‘idéal’ à partir de chaque R1 issue de E12, vin et vout:
Ça, c’est fait …
Il reste à voir comment on va trouver la bonne valeur dans la liste de la norme. C’est subtil comme truc, parce qu’il faut bien penser que la valeur R2 peut se trouver en dehors de la liste (< ou > ) … on verra ca demain, si j’ai le temps, mais promis, 5 ou 6 lignes de code devraient suffire
