Function With While Loop Help
3 次查看(过去 30 天)
显示 更早的评论
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!!
0 个评论
采纳的回答
Walter Roberson
2019-2-17
At each step, you can determine h (height) by knowing the current volume remaining and knowing the cross-section area of the vessel. At each step, the volume reduces by the flow rate multiplied by the time step.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!