fzero
MATLABを使用して、この暗黙の方程式を解こうとしています。コードを保持するファイルの名前"colebrook"
は次のとおりです。これまでに入力したのは次のとおりです。
D = input('Please enter the pipe diameter in meters: ');
V = input('Please enter the fluid velocity in m/s: ');
rho = input('Please enter fluid density in kg/m^3: ');
mew = input('Please enter fluid viscosity in kg/m*s: ');
Re = D*V*rho/mew;
eps = input('Enter absolute roughness in milimeters: ');
eD = eps/(D*1000);
a = fzero(colebrookfunc,0.1);
fprintf(a);
解きたい方程式は という別の m-file に保存されて"colebrookfunc"
おり、そこに含まれるコードは次のとおりです。
function F = colebrookfunc(x)
F = x - 1./(-4 * log10(eD/3.7 + 1.256./(Re*x.^0.5))).^2;
実行すると、次のエラーが発生します。
??? Input argument "x" is undefined.
Error in ==> colebrookfunc at 2
F = x - 1./(-4 * log10(eD/3.7 + 1.256./(Re*x.^0.5))).^2;
Error in ==> colebrook at 28
a = fzero(colebrookfunc,0.1);
私の間違いは何ですか?
ありがとうございました。