Save While-loop to vector
9 views (last 30 days)
Show older comments
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 Comment
ranbo95
on 21 Mar 2017
Edited: ranbo95
on 21 Mar 2017
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!
Accepted Answer
Mahdi
on 24 Apr 2013
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.
More Answers (2)
Matt Kindig
on 24 Apr 2013
Edited: Matt Kindig
on 24 Apr 2013
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 Comment
rahul bathini
on 11 Jun 2015
can some one give me a simpler example like storing the value of 2 table a1=2,a2=4,a3=6.........
0 Comments
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!