coco695 | Bonjour, j'ai écris le programme suivant:
Code :
- def tracerCv (Crd,Crg):
- n=7.5
- gamma=0.9135516725*math.pi/180
- beta=0.9135516725*math.pi/180
- Cv=np.zeros(55)
- g =open("D:/DAE/valeur_alphag.txt" , "r" )
- d =open("D:/DAE/valeur_alphad.txt", "r" )
- for k in range (0,56):
- alphagg=g.readline()
- alphadd=d.readline()
- Cv[k]= n*((Crd*np.cos(gamma))/(l6*np.sin(alphadd-str(gamma)))+(Crg*np.cos(beta))/(l5*np.sin(alphagg-str(beta))))
- g.close()
- d.close()
- return (Cv)
- Cv1=tracerCv(-30.629,-23.179)
- Cv2=tracerCv(-25.576,-18.596)
- Cv3=tracerCv(-19.686,-15.629)
- Cv4=tracerCv(-13.384,-10.667)
-
- plt.plot(alphad,Cv1,"o" )
- plt.plot(alphad,Cv2,"o" )
- plt.plot(alphad,Cv3,"o" )
- plt.plot(alphad,Cv4,"o" )
- plt.xlabel("Alphad (en rad)" )
- plt.ylabel("Couple volant Cv (en N.mm)" )
- plt.legend()
- plt.show()
|
cependant pyzo m'affiche l'erreur suivante:
Traceback (most recent call last):
File "D:\DAE\fermeture géométrique f(x)=0.py", line 53, in <module>
Cv1=tracerCv(-30.629,-23.179)
File "D:\DAE\fermeture géométrique f(x)=0.py", line 48, in tracerCv
Cv[k]= n*((Crd*np.cos(gamma))/(l6*np.sin(alphadd-str(gamma)))+(Crg*np.cos(beta))/(l5*np.sin(alphagg-str(beta))))
TypeError: unsupported operand type(s) for -: 'str' and 'str'
je suppose que pyzo considère les valeurs flottantes qu'il lit comme une chaîne de caractère mais je ne sais pas comment convertir en float puique l'action float(...) ne fonctionne pas.
Merci d'avance de votre aide, bonne soirée. |