23 views (last 30 days)

Show older comments

Hello--

So I need to calculate time, flow rate, height, and velocity of water exiting a cylindrical container until the container is empty. I must use a while loop within a function to do so. I am supposed to break the loop once h (height) is slightly larger than 0 so h>0. I need to define a counting variable and start at t = 0.

This is my code for the function so far:

function [Q,h,t,V] = hw4_func_BDP(Initial_Height,Outer_D,Inner_D)

p = 1000; %(kg/m^3) pressure of water

g = 9.81; %(m/s^2) acceleration due to gravity

k = ((d^2)/(D^2))*sqrt(2*g); %constant with diameters of large hole vs exit hole

%Outputs (all vectors)

t = 0 %Time

h = sqrt(h0-.5*k.*t).^2 %Fluid Height

V = sqrt(2*g.*h) %Velocity

Q = pi*(Inner_D/2)^2 .*V %Flow Rate

j = 1

while h > 0

%I am uncertain what to do here

j = j+1

end

The inputs in my script are:

h0 = 2; %initial height

D = 1; %outer diameter

d = .1; %inner diameter

Also, I am supposed to calculate these as vectors, should I define them in my script as blank vectors before hand? Like t = [] h = [] V = [] Q = []

Please help!!

Walter Roberson
on 17 Feb 2019

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

Start Hunting!