How to create a matrix with while loop?

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,

 Akzeptierte Antwort

KSSV
KSSV am 15 Feb. 2022

1 Stimme

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 Kommentare

Teb Keb
Teb Keb am 15 Feb. 2022
I am wondering why you have vol>0, instead of <0?
Torsten
Torsten am 15 Feb. 2022
Bearbeitet: Torsten am 15 Feb. 2022
Because fluid can only leave the container as long as (while) the fluid volume is > 0, not < 0.
Teb Keb
Teb Keb am 15 Feb. 2022
oh i see. thank you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2021b

Gefragt:

am 15 Feb. 2022

Kommentiert:

am 15 Feb. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by