Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For å beregne kulebanen, må man vi vite hvor kulen er, hva farten er og hvilken fart og akselerasjon den har. Dette er initialbetingelsene. Det velges så en liten tidsenhet, dt, feks 0.1 sekund. Ved å benytte initialbetingelsene kan man regne ut den nye posisjonen, farten og akselerasjonen, etter 0.1 sekund. Dette gjentas helt til kulen treffer bakken

Videre lar vi det gå en tidsenhet, f.eks 0.1 sekunder, slik at kulen flytter seg litt og deretter kalkulerer vi variablene på nytt.

 Dette gjentar vi så lenge y-koordinatet er større enn 0. Da har kulen truffet bakken, og lengden av kastet vil være gitt av x-koordinatet.  

a)

Fra vinkel og starthastighet kan farten dekomponeres i x og y-retning:
v_x = cos(angle)*speed
v_y = sin(angle)*speed

...

Tips: cos og sin i Matlab regner med radianer. Bruk derfor cosd og sind eller benytt følgende: grader = radianer*(180/pi)

Code Block
languagenone
[ivxvx, ivyvy] = initVelocity (0, 100) % skal returnere xvx = 100 , yvy = 0
 
[ivxvx, ivyvy] = initVelocity (pi /2, 100) % skal returnere xvx = 6.1232e -15 , yvy = 100
 
[ivxvx, ivyvy] = initVelocity (pi /4, 100) % skal returnere xvx = 70.7107 , yvy = 70.7107

 

b)

Farten i x og y-retning (etter dt, 0.1 sekund) er retning er beregnet. Siden strekning = fart * tid vil den nye posisjonen være gitt ved: 

 

...

   hvor dt er et tidsintervall på 0.1 sekunder.

Skriv funksjonen med signaturen function [x, y] = position(x, y,

...

vx, vy,

...

dt) som

...

kalkulerer x- og y-koordinatet i neste steg, ut ifra det nåværende stegets posisjon og fart.                                                                     Funksjonen kan testes med følgende skript: 

Code Block
languagenone
[x, y] = position (10 , 10, 0, 1, 1)  % skal returnere x = 10, y = 11
 
[x, y] = position (10 , 10, 1, 0, 1) % skal returnere x = 11, y = 10
 
[x, y] = position (10 , 10, 1, 1, 0.1) % skal returnere x = 10.1 , y = 10.1

 

c) 

Akselerasjonen er i denne oppgaven gitt ved:

 k = 0.01 og representerer luftmotstanden . og g =  er gravitasjonskonstanten (9.81 , gravitasjonskonstantenpå jorden)


Skriv function [ax, ay] = acceleration(vx, vy). 

...