Save While-loop to vector
조회 수: 3 (최근 30일)
이전 댓글 표시
I have this while loop which works very well and gives the correct output data but as it ends it only saves the latest datapoint, how can I save every loopdata into a vector?
t0=0.15; % Initial time
v0=46.5285; % Initial velocity
h0=3.4896; %Initial height
dt=0.001; % Timesteps/Precision
m=0.05; %Mass
g=9.81; % The gravitational constant
Velocity2=46.5285;
t = t0;
while Velocity2>=-20
Velocity2=hastighet(acceleration(0,m,g),t,v0,t0);
Height2=hojd(acceleration(0,m,g),t,h0,v0,t0);
t=t+dt;
end
Really appreciate your help!
댓글 수: 1
ranbo95
2017년 3월 21일
편집: ranbo95
2017년 3월 21일
Try assigning a zeros matrix first then assigning values to it, i.e;
i=1
%put your other details here
while XXX
vhmatrix=(100,2) %assigning a matrix with 2 columns and 100 rows
vhmatrix(i,1)=Velocity2(i)
vhmatrix(i,2)=Height2(i)
i=i+1
end
i is your index, which you need to refer to a cell of the matrix. Try using something like this!
채택된 답변
Mahdi
2013년 4월 24일
Change it to the following:
VelocityVector=[];
while Velocity2>=-20
Velocity2=hastighet(acceleration(0,m,g),t,v0,t0);
VelocityVector=[VelocityVector; Velocity2];
Height2=hojd(acceleration(0,m,g),t,h0,v0,t0);
t=t+dt;
end
Then all your data is saved in VelocityVector.
추가 답변 (2개)
Matt Kindig
2013년 4월 24일
편집: Matt Kindig
2013년 4월 24일
Make your variables into vectors, by indexing through them:
index = 1;
while Velocity2(index) >=-20
Velocity2(index)=hastighet(acceleration(0,m,g),t,v0,t0);
Height2(index)=hojd(acceleration(0,m,g),t,h0,v0,t0);
t(index)=t(end)+dt;
index = index+1;
end
댓글 수: 1
rahul bathini
2015년 6월 11일
can some one give me a simpler example like storing the value of 2 table a1=2,a2=4,a3=6.........
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!