How do i can write a for loop inside a for loop?

I am working on a fluid flow problem i want to find the velocity, Reynolds, darcy friction factor and the loss head.
However, the velocity is function of darcy friction factor and the loss head.
Reynolds and flow rate are functions of velocity.
darcy friction should be calculated by a for loop using Colebrook equation.(1 loop)
I don't have any of: velocity, flow rate, loss and darcy friction factor.

댓글 수: 4

If you don't have any of the values, or ranges of values, then you really can't do anything, can you. Not even a loop.
To have a for loop inside a for loop, you can do
for k1 = k1Start : k1Stop
for k2 = k2start : k2stop
% Some code...
end
end
can i share my code?
function [f,v,Re,q,com] =Darcy_Weisbach_fittingsa(k,total_loss,pump_loss,l,d,r,rho,viscosity)
f0=0.04;
f=zeros(size(total_loss));
com0=12;
for i=1:100
v0=sqrt(((2*9.81*(total_loss+pump_loss-com0))/((f0*(l/(d/1000)))+k)));
Re0=(rho*v0*(d/1000))/(viscosity*0.001);% Convert viscosity from centipoise to Kg/m.s
q0=v0*(pi*(0.10226^2)*0.25);
v(i)=v0;
Re(i)=Re0;
q(i)=q0;
for j=1:length(Re(i))
f0=(-2*log10((r/d)/3.7+2.51/Re(j)/sqrt(f0)))^-2;% used for smooth pipes and fully rough pipes
f(j)=f0;
end
com0=((q(i)*13.3)/(12*1000))^2;
com(i)=com0;
end
v=v(i)
Re=Re(i)
q=q(i)
com=com(i)
if Re<2000
f=64/Re
end
end
darova
darova 2020년 6월 15일
How to run your code

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Fluid Dynamics에 대해 자세히 알아보기

제품

릴리스

R2019a

질문:

2020년 6월 14일

댓글:

2020년 6월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by