...
Akselerasjonen er i denne oppgaven gitt ved:
Her Her har vi en konstant, k = 0.01
, som representerer luftmotstanden og g
, som er gravitasjonskonstanten (9.81 på jorden).
...
Den skal benytte seg av plot()
-funksjonen for å vise kulens bane.
Code Block | ||
---|---|---|
| ||
>> plotTrajectory(100,45,10) |
...
Code Block | ||
---|---|---|
| ||
>> plotTrajectoryLength(100,0,45/8,90,10) |
Utskriften fra funksjonen skal se nogenlunde slik ut:
h)
Det ønskes en enkel måte å visualisere kulestøtet som en animasjon. Se om alt fungerer ved å lagre koden under og kjøre den med noen verdier.
Code Block | ||
---|---|---|
| ||
function animate(initialSpeed, initialAngle, height) [xliste, yliste]= trajectory(initialSpeed, initialAngle, height); dt=0.1; % Setter tidsintervall xmax = max(xliste); xmin = min(xliste); ymax = max(yliste); ymin = min(yliste); xlen = length(xliste); axis([xmin xmax ymin ymax]); hFig = figure(1); set(hFig, 'Position', [xmin ymin 1200 800]) for i = [1:length(xliste)] % printer plottet, ett steg lengre for hver iterasjon hold on; % Vil beholde det eksisterende plottet. plot(xliste(1:i),yliste(1:i), '-k'); % Hva skjer her? pause(dt/initialSpeed*2); % Koden kjører for fort, ber den pause med "dt" end end |