• Register

Problem pri integraciji s integrate.quad

+2 votes
154 views

Problem:

Pri integraciji z integrate.quad mi vrne naslednji error: 

only size-1 arrays can be converted to Python scalars
 
Koda:

T = 101.5*60 #s
hitrost = 7435.06128002916 #m/s

t = np.linspace(0, T, 50)
s = np.linspace(0, obseg, 50)
v = np.linspace(hitrost, hitrost, 50)

from scipy import integrate
t = np.linspace(0, T, 50).astype(int)
funkcija_hitrosti = lambda s: s/t
hitrost_t = integrate.quad(funkcija_hitrosti, 0, T)
pot_t

 

Hvala za odgovor in lep pozdrav!

asked May 28, 2022 by jc0945 (580 points)

1 Answer

+2 votes
 
Best answer
Pozdravljeni,

funkcija v vašem primeru vrne numerično polje tudi ko ji podate zgolj eno številko. Funkcijo morate napisati tako, da vrne le eno številko, če ji podate eno številko. (Sicer ne vem točno katero funkcijo ste želeli integrirati).

Lp, KZ
answered May 28, 2022 by kzaletelj (8,300 points)
selected May 28, 2022 by janko.slavic
Funkcija, ki jo integriram je "funkcija_hitrosti"
To sem razumel :) je pa malo nerodno zapisana. Funkcija uporabi kar celotni vektor časov, uporabnik ne more izbirati časa. Zaradi tega funkcija vrne numerično polje v vsakem primeru, oziroma, bi vrnila napako če bi v funkcijo podali numerično polje 's', ki se po dolžini ne ujema s 't'.
...