-2
%free fall of a ball
clc
clear all
close all
v0=5; % initial velocity up
g=9.8; %free fall acceleration
v1=(0.7/0.9)*v0
% time of fly
tup=v0/9;
nsteps=10; %number of frames
dt=tup/nsteps; %time step
Hmax=v0*tup+(-g)*tup*tup/2; % maximum altitude
altitude(1:nsteps+1)=0; %define array for position Y
time=0:dt:tup;% define time array
%initilaise plot
figure(1)
axis([0,2*tup,0,2*Hmax]);
hold on
% loop
for i=1:nsteps
altitude(i)=v0*time(i)+(-g)*time(i)*time(i);
plot(time(i),altitude(i), 'ro')
grid on;
M(i)=getframe;
end
%loop bouncing
for i=1:nsteps
altitude(i)=v1*time(i)+(-g)*time(i)*time(i);
plot(time(i),altitude(i), 'ro')
grid on;
M(i)=getframe;
end
%make movie
movie(M);
movie2avi(M, 'C:\Users\Mehmet\Desktop\avi\mm','compression','none');
%extra plots
figure(2)
plot(time(1:nsteps),altitude(1:nsteps))
figure(3)
plot(time(1:nsteps),altitude(1:nsteps),'ro')
我們有這個球彈跳模擬。我們想要做的是,在圖1中的循環1之後繼續循環2.因此,它將連續彈跳仿真。從1:10步驟顯示2個彈跳,但是我們希望在10步後顯示第二個循環。第二回路的Matlab繼續圖
你的第二個循環會覆蓋第一個循環的所有變量。 – Rashid 2014-11-24 19:01:13
我們已經知道它會覆蓋。我們只是保持這種方式來檢查我們的程序是否正常工作。那就是爲什麼我們要問如何讓第二個循環在圖中連續的第一個循環。並且將一個圖中的兩個循環同時顯示爲第一個循環的連續循環。 – user2330096 2014-11-24 21:37:53