Using vpasolve to iterate/solve for flowrate in a piping network

2 次查看(过去 30 天)
Dear Matlab community,
I am trying to use vpasolve to solve for the Fanning friction factor (f1), Reynolds number (Re1), and velocity (v1) of water flowing through a single pipe with the following code:
>> syms f1 v1 Re1 %% not sure why 'f1' isn't in pink font on this post, it is pink on my computer
eqn1 = 14.63 == ((f1*(3200/0.3))+6.8)*((v1^2)/(2*9.81));
eqn2 = Re1 == v1*0.3/(1.004E-6);
eqn3 = 1/(f1^0.5) == -2*log(((1.5e-6)/(3.7*0.3))+(2.51/(Re1*(f1^0.5))));
sol = vpasolve(eqn1,eqn2,eqn3, f1, v1, Re1);
sol.f1
sol.v1
sol.Re1
However, matlab returns:
ans =
Empty sym: 0-by-1
ans =
Empty sym: 0-by-1
ans =
Empty sym: 0-by-1
>> double(sol.Re1)
ans =
0×1 empty double column vector
I have tried iterating using the Goal Seek function on Excel by first typing in a suggested a Reynolds number.
By suggesting a Re number, excel will iterate to find a value for 'f1' that ensures LHS - RHS = 0
eqn3 = 1/(f1^0.5) == -2*log(((1.5e-6)/(3.7*0.3))+(2.51/(Re1*(f1^0.5))));
What is preventing the matlab code from successfully iterating?
I am trying to solve this simpler example first because I will later be trying this on a more complicated pipe network with several Fanning friction values, Reynolds numbers, velocities, etc.
I have read the vpasolve matlab help page and am still stuck.
Any help appreciated!
Thanks,
Jonathan

回答(1 个)

Alex Sha
Alex Sha 2020-5-20
refer to the result below:
f1: 0.013713131883721
v1: 1.36937309476078
re1: 409175.227518161

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by