How to create a matrix with while loop?

17 次查看(过去 30 天)
I have a problem where I have to calculate the time it will take for a fluid to leave a container using while loop and give the results in matrix array at every 0.10 second increments. This is the code I have so far:
v0=20;
A=3000;
t = 0;
m = [];
while vol<0
t=t+0.10;
vol=A-vol0*t;
m = [m;t,vol];
end
Basically my matrix should be something like:
%t %vol
0 2000
0.10 1000
0.20 500
t 0
% until vol becomes 0 and I want to find the time t when it becomes 0.
But somehow my matrix is 0x0. I can only create a matrix if I set the time to be known.
I know that it is inefficient to use while loop for this case. But I want to learn to create a matrix from while loop using this example.
Thank you,

采纳的回答

KSSV
KSSV 2022-2-15
vol=20;
A=3000;
t = 0;
m = zeros([],2) ;
iter = 0 ;
while vol>0
iter = iter+1;
t=t+0.10;
vol=A-vol*t;
m(iter,:) = [t,vol];
end
m
  3 个评论
Torsten
Torsten 2022-2-15
编辑:Torsten 2022-2-15
Because fluid can only leave the container as long as (while) the fluid volume is > 0, not < 0.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by