Help with Colebrook equation and f zero command.
2 次查看(过去 30 天)
显示 更早的评论
I am trying to do a problem with the colebrook equation in which I have to find the roots of the equation to find "f". I am trying to use the fzero command along with a function file, but it is not working. How do I do this?
function f = fricfactor(f) Re = linspace(10e4,10e7,31); f = (1/sqrt(f))-2*log10(Re*sqrt(f))-0.8; end
fcw = fzero(@fricfactor,[0 1]);
0 个评论
采纳的回答
Torsten
2014-11-7
f=@(x)(1/sqrt(x)-2*log10(Re*sqrt(x))-0.8);
Re=10000;
Delta_Re=200;
for i=1:20
fcw(i)=fzero(f,[1e-8 1]);
Reynolds(i)=Re;
Re=Re+Delta_Re;
end
Best wishes
Torsten.
更多回答(1 个)
Torsten
2014-11-7
Re=10000;
f=@(x)(1/sqrt(x)-2*log10(Re*sqrt(x))-0.8);
fcw = fzero(f,[1e-8 1]);
If you want to determine fcw for different Reynolds numbers, you will have to do that in a for Loop.
Best wishes
Torsten.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Partial Differential Equation Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!