Bonsoir
j'utilise arrange de numpy pour trouver des valeurs de 0 a 32 par pas de 1.
Dans l'exercice il est indiqué que l'on calcul l'intégrale de 0 à t, t contient les valeurs de np.arrange de 0 à 32.
Voici ci-dessous mon petit programme.
Voici l'erreur que me renvoi python.
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
20
21
22
23
24
25
26
27
28 from scipy import interpolate, integrate import numpy as np tx = [0, 0.7, 3.1, 5.7, 10.5, 13, 15.5, 18, 20.3, 21, 21.5, 22, 22.5, 22.9, 25.4, 27.8, 30.3, 32.8] vz = [0.0, 22.2, 39.9, 47.7, 52.2, 53.4, 53.8, 53.8, 53.8, 42.0, 33.6, 16.7, 10.0, 7.9, 7.4, 27.8, 7.4, 7.4] def fonct(): f = interpolate.interp1d(tx, vz) t = np.arange(0, 32, 1) z = 1250 - integrate.quad(f, t,vz) return z def afficher(): print('intégrale') print(fonct()) afficher()
Moi, je ne vois pas pourquoi l'exercice me de demande d'utiliser np.arrange, l'intégrale fait déjà le calcul sur un intervalle.Traceback (most recent call last):
File "C:\Users\EDMOND\Documents\programme python\exam_ex1part2.py", line 36, in <module>
afficher()
File "C:\Users\EDMOND\Documents\programme python\exam_ex1part2.py", line 34, in afficher
print(fonct())
File "C:\Users\EDMOND\Documents\programme python\exam_ex1part2.py", line 24, in fonct
z = 1250 - integrate.quad(f, t,vz)
File "C:\Users\EDMOND\AppData\Local\Programs\Python\Python38\lib\site-packages\scipy\integrate\_quadpack_py.py", line 408, in quad
flip, a, b = b < a, min(a, b), max(a, b)
ValueError: operands could not be broadcast together with shapes (32,) (18,)
A bientôt
Partager