My code says too many output arguments
Show older comments
function newton
x0 = input('Enter the initial guess value, x: ');
tolerance = input('Enter the tolerance value, tol: ');
max_i = input('Enter the maximum no. of iteration, max_i: ');
r = input('Enter the value of relative roughness, e/D: ');
RN = input('Enter the Reynolds number, RN: ');
f = input('Enter the Friction factor, f: ');
c = colebrook/colebrook_deriv;
x=x0;
for i=1:max_i
y = x;
x = y - (c);
if abs(x-y)<= tolerance
disp(['root = ', num2str(x)])
break
end
end
fprintf('The number of iterations: %d\n', i)
My functions I'm calling are
function colebrook
%%Formula for C(fd)
CFd =(1/sqrt(f)) + 2*log10(r/(3.7)+ 2.51/(RN*sqrt(f)));
end
function colebrook_deriv
CFd1 = 1/(2*f^(3/2)) + 2.51/RN*f^(3/2)log(10)(r/3.7) + 2.51/(RN*f^(1/2));
end
Please do help with answers
2 Comments
None of your functions have input or output arguments, which are required if you want to pass data to/from those functions.
How to add input/output arguments to a function is explained here:
How to call functions with input/output arguments is explained here:
Nilaa Maragathavelan
on 27 Nov 2020
Accepted Answer
More Answers (0)
Categories
Find more on Computational Fluid Dynamics (CFD) in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!