...
Fra vinkel og starthastighet kan farten dekomponeres i x og y-retning:
v_x vx = cos(angle)*speed
v_y vy = sin(angle)*speed
Skriv funksjonen initalVelocity( initalAngle, speed). Denne skal returnere initialhastighet i x og y-retning.
...
Code Block | ||
---|---|---|
| ||
[vx, vy] = initVelocity (0, 100) % skal returnere vx = 100 , vy = 0 [vx, vy] = initVelocity (pi /2, 100) % skal returnere vx = 6.1232e -15 , vy = 100 [vx, vy] = initVelocity (pi /4, 100) % skal returnere vx = 70.7107 , vy = 70.7107 |
b)
Farten i x- og y-retning er beregnet. Siden strekning = fart * tid vil den nye posisjonen være gitt ved:
hvor dt
dt
er et tidsintervall på 0.1 sekunder.
...
Skriv function [xv, yv] = trajectory(initialSpeed, initialAngle,
height)
. Denne funksjonen benytter seg av initialSpeed,
acceleration,
velocity
og position
. Den skal returnere to lister: én for x og én for y-koordinater.
Tiden kulen bruker på å treffe bakken er ukjent, en while-løkke må derfor benyttes. Stopp denne Denne skal terminere når høyden (y) blir mindre enn 0.
f)
Lag funksjonen plotTrajectory
. Denne skal ha samme parameterene som trajectory
. Den skal benytte seg av plot
-funksjonen for å vise kulens bane.
...
Lag funksjonen plotTrajectoryLength(initialSpeed, start, step, stop, height).
Den skal kalle trajectory med vinkler mellom 0 og pi/2 (0 og 90 grader). Deretter skal den plotte vinkel mot lengden av kulestøtet.
Velg pi/32 som steglengde for vinkelen.
Til ettertanke:
Hvilken vinkel gir best resultat?
Hva skjer om man endrer på høyden?
Hva skjer om k og g endres?
Har farten noe å si for vinkelen?
...