Save While-loop to vector
16 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
ranbo95
il 21 Mar 2017
Modificato: ranbo95
il 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!
Risposta accettata
Mahdi
il 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.
Più risposte (2)
Matt Kindig
il 24 Apr 2013
Modificato: Matt Kindig
il 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 Commento
rahul bathini
il 11 Giu 2015
can some one give me a simpler example like storing the value of 2 table a1=2,a2=4,a3=6.........
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!