• Register

Problem pri interpolaciji

+3 votes
215 views
Pozdravljeni,

imam problem pri izrisu interpolacije. Vedno smo imeli neko funkcijo preko katere smo izvedli interpolacijo, pri mojem projektu imam pa jaz posamične točke, ki predstavljajo poves, vsaka točka ima drugačno enačbo in bi jih rad zinterpoliral, tako da imam prošnjo, če mi lahko kdo pomaga kako povezati te točke. Moja koda je:

a = 4 #m
b = 2.1 #m
F = 5000 #N
alpha = 15*np.pi/180 #rad

h = 100 #mm
c = 1000 #mm

I_z = h**3*c/12 #mm**4

L = (a+b)*1000 #mm

E = 210000#MPa - elastični modul

eta = a*1000/L #[/]

w_max = -1*((F*L**3)/(9*(3**(1/2))*E*I_z))*(1-eta)*((2-eta)*eta)**(3/2)
w_max #mm

w_a = w_max

zeta1 = (2/L)*1000
w_polovica_a = -1*((F*L**3)/(6*E*I_z))*zeta1*(eta-1)*(zeta1**2 + (eta-2)*eta)

zeta2 = (5.05/L)*1000
w_polovica_b = -1*((F*L**3)/(6*E*I_z))*(zeta2-1)*eta*(zeta2**2 - 2*zeta2 + eta**2)

print('Maksimalni poves:', w_max,'\n', 'Poves pri a/2:', w_polovica_a,'\n', 'Poves pri b/2:', w_polovica_b,'\n')

plt.title('Prikaz n točk povesa kolektorja.')
plt.axhline(color = 'red')
plt.plot(a*1000 ,w_max, 'ko')
plt.plot(a*1000/2 ,w_polovica_a, 'ko')
plt.plot((a+b/2)*1000, w_polovica_b, 'ko')
plt.plot(0, 0, 'ko')
plt.plot(L, 0, 'ko')
plt.ylabel('Poves [mm]')
plt.xlabel('Dolžina kolektorja [mm]')
plt.grid()
plt.show()

Hvala za pomoč

LP, Klemen
asked May 3, 2017 by Klemen (2,150 points)
edited May 3, 2017 by Klemen

1 Answer

+3 votes
 
Best answer

Če pogledate v dokumentacijo modula scipy.interpolate boste videli, da večini funkcij podamo numerični polji x in y. Tudi na vajah smo delali tako - ne vem točno, kaj mislite s "funkcijo, preko katere smo izvedli interpolacijo".

V vašem primeru bo x verjetno vektor dolžin (oddaljenosti od koordinatnega izhodišča), pri katerih bi pomerili vaše povese, y pa bo numerično polje pripadajočih izmerkov povesov.

answered May 4, 2017 by dgorjup (74,760 points)
selected May 5, 2017 by Klemen
...