Save data from while loop
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Anonymous User
am 5 Jul. 2019
Bearbeitet: madhan ravi
am 5 Jul. 2019
How I can save x,y,z data from each irritation and build a matrix ? So I can use them for future work ...
t=0;
while t<100
v=pi/10;
r=6;
dt=0.1;
w=v/r;
t=t+dt;
theta=pi/2;
x=r*sin(theta-w*t)
y=r*cos(theta-w*t)
z=sqrt(10^2-x^2-y^2)
end
0 Kommentare
Akzeptierte Antwort
per isakson
am 5 Jul. 2019
Bearbeitet: per isakson
am 5 Jul. 2019
Your script overwrites x,y,z for each iteration. You need to assign vectors of appropriate length to x,y,z , (preallocate) before running the loop. Try
t=0;
ix=0;
v=pi/10;
r=6;
dt=0.1;
w=v/r;
x = nan(round(100/dt),1);
y = x;
z = x;
while t<100
ix = ix + 1;
t=t+dt;
x(ix)=r*sin(theta-w*t);
y(ix)=r*cos(theta-w*t);
z(ix)=sqrt(10^2-x^2-y^2);
end
Just to learn how to use a loop, despite it is not neccessary in your example.
0 Kommentare
Weitere Antworten (1)
madhan ravi
am 5 Jul. 2019
Bearbeitet: madhan ravi
am 5 Jul. 2019
You don’t need a loop , simply define t as
t = 0:dt:100;
doc while % to know more about the loop
doc for
and use element wise operation ( https://in.mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html ) meaning * to .* and ^ to .^
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!