Save While-loop to vector
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
ranbo95
am 21 Mär. 2017
Bearbeitet: ranbo95
am 21 Mär. 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!
Akzeptierte Antwort
Mahdi
am 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.
2 Kommentare
Weitere Antworten (2)
Matt Kindig
am 24 Apr. 2013
Bearbeitet: Matt Kindig
am 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 Kommentar
rahul bathini
am 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 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!