Save data from while loop
7 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
per isakson
on 5 Jul 2019
Edited: per isakson
on 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 Comments
More Answers (1)
madhan ravi
on 5 Jul 2019
Edited: madhan ravi
on 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 Comments
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!