12 svar
91 visningar
I am Me behöver inte mer hjälp
I am Me 720
Postad: 25 nov 2024 10:15 Redigerad: 25 nov 2024 10:18

Simulera kastparabel med python

Hej bästa ni! 

Uppgiften är:

Jag försökte lösa deluppgift a. Tänkte såhär , vad är felet och varför min for-loop är fel?Och jag har lite svårt med att lösa probem i python för glömmer bort vilka hjälpmedel python har ex hur man skriver plot osv 

Yngve Online 40663 – Livehjälpare
Postad: 25 nov 2024 10:31

Jag kan inte Python, men om du menar att variablerna x och y är arrayer eller listor så ska du väl skriva x[t] och y[t] istället för x(t) och y(t) här:

Yngve Online 40663 – Livehjälpare
Postad: 25 nov 2024 10:33 Redigerad: 25 nov 2024 10:34

Modulen du ska importera heter väl NumPy, inte numy?

I am Me 720
Postad: 25 nov 2024 10:41
Yngve skrev:

Modulen du ska importera heter väl NumPy, inte numy?

Jaaa det heter numpy och inte numy

I am Me 720
Postad: 25 nov 2024 10:49
Yngve skrev:

Jag kan inte Python, men om du menar att variablerna x och y är arrayer eller listor så ska du väl skriva x[t] och y[t] istället för x(t) och y(t) här:

Det kan jag inte heller hahah. Jag vet inte om variablerna x och y är arrayer eller listor men de ska sparas i x_position=[] och y_position0[] då blir de listor. Och förstår inte heller varför ska man spara de för jag trodde att efter att for-loopen är klar då skrivs ut alla värde på x(t) och y(t) för de olika värde på t. Jag ser att min grund python kunskaper är kaos hahah 

Yngve Online 40663 – Livehjälpare
Postad: 25 nov 2024 10:55

OK, om du bara använder x och y som tillfällig lagring så kan du ta bort (t) på båda ställena och bara skriva x respektive y istället.

I am Me 720
Postad: 25 nov 2024 11:40
Yngve skrev:

OK, om du bara använder x och y som tillfällig lagring så kan du ta bort (t) på båda ställena och bara skriva x respektive y istället.

Gjorde det men det är ändå fel.

Yngve Online 40663 – Livehjälpare
Postad: 25 nov 2024 12:24

Visa din uppdaterade kod och vilka felmeddelanden du får.

I am Me 720
Postad: 25 nov 2024 13:39
Yngve skrev:

Visa din uppdaterade kod och vilka felmeddelanden du får.

Nu verkar som att inget är fel men jag får inte plotten. JAg skrev plt.show(), jag kör koden i spyder 

Laguna Online 30774
Postad: 25 nov 2024 14:04

Jag har inte alls använt din miljö, men det här kanske har med saken att göra: https://stackoverflow.com/questions/42655533/python-spyder-choose-where-and-when-to-show-plots

sictransit Online 1172 – Livehjälpare
Postad: 25 nov 2024 21:36 Redigerad: 25 nov 2024 21:36

Jag felsöker gärna din kod men tänker inte knappa in den från ett foto av din skärm. Använd ”infoga programmeringskod” {:} så blir det mycket enklare för alla. 

I am Me 720
Postad: 26 nov 2024 08:41 Redigerad: 26 nov 2024 08:46
sictransit skrev:

Jag felsöker gärna din kod men tänker inte knappa in den från ett foto av din skärm. Använd ”infoga programmeringskod” {:} så blir det mycket enklare för alla. 

Här är koden=)

 

"#skapa program som simulerar kastparabeln och plottar den#Simulerar banan tills föremålet slår marken. hur långt kom föremålet

import numpy as npimport matplotlib.pyplot as plt

v0=10 #utgångshastighetenalpha0=np.pi/4 #utgångsvinkeln i radianer g=9.82 #tyngdaccelerationdt= 0.005 #tidssteg

#tömma listor för att lagra positionerna x och yx_position=[]y_position=[]t=0 y=0x=0

# Total flygtid

T = 2 * v0 * np.sin(alpha0) / g

# Totala flygtiden

t_värde=np.arange(0, T, dt)

 

for t in t_värde:

       x= v0*t*np.cos(alpha0)

       y= -0.5*g*t**2 + v0*t*np.sin(alpha0)

       if y<0: 

      break

x_position.append(x) #sparar horisentella positioney_position.append(y) #sparar vertikala positionen #Plottar

plt.figure(figsize=(12,8))plt.plot(x_position, y_position, 'purple', label='Simulerad Kastprabel ')plt.title('Simulerad katparabel med analytisk beräkning')plt.xlabel('Horisentellt avstånd (m)')plt.ylabel('Häjd över marken (m)')plt.grid()plt.legend()plt.show()

simulerade_Xavstånd= x_position[-1] #ger sista värädet från listan x_position

print (f'Föremålet kom: {simulerade_Xavstånd:.2f} meter innan det slog i marken')

print(f"Max X-position: {x_position[-1]}")print(f"Max Y-position: {y_position[-1]}")  "

Laguna Online 30774
Postad: 27 nov 2024 10:28

I min miljö, som är helt olik din (miniconda på RedHat) så får jag ett fint fönster om jag gör detta:

import matplotlib.pyplot as plt
plt.title("hej")
plt.show()

Svara
Close