Help Using Newton Rhapson Method for Colebrook equation

For context, the homework assignment wants us to use the Newton Rhapson method to solve for the friction value using Colebrook's equation. I have my code below but I keep getting errors saying that in line 18 matrix dimensions must agree. I'm not exactly sure what the issue is and our professor told us to approach the problem this way. Any help would be greatly appreciated. Code is attached

 Réponse acceptée

Hello Mary,
The problem is with the function:
diff(h(x))
This function operates with vectors and it only computes the difference. Also, to obtain the derivative you need to divide by an appropriate step size. You have two options here:
  1. Compute the exact derivative with a symbolic asistant (or by hand ...) and then add to your code in line 16.
  2. Approximate the derivative with a centered finite difference (or backward,forward).
I used here the second option,
x0 = 0.01; %Guess for initial x
x=x0;
dx = 1e-3; % Step size for the centered finite difference
for i=0:100000
y=x;
m = (h(x+dx) - h(x-dx)) / (2*dx); % centered finite difference
x = y-(h(x)/m);
if x==y
break
end
end
Best.

5 commentaires

Other observation.
The stopping condition is not the most suitaible. I prefer to use the absolute error
error = abs(x-y)
Then you can compare the error respect to a tolerance value
if error <= tol
break
end
Hi Lemuel, I tried following your suggestions and I'm no longer getting errors but the code will not perform the calculations, it just lists the number of bisections as 0, I have attached the updated code.
Lemuel Carlos Ramos Arzola
Lemuel Carlos Ramos Arzola le 18 Fév 2020
Modifié(e) : Lemuel Carlos Ramos Arzola le 18 Fév 2020
Check this file. I made several modification to your code. You had some sintax errors and others problems with the workflow of the algorithm.
Thank you I highly appreciate it.
Lemuel Carlos Ramos Arzola
Lemuel Carlos Ramos Arzola le 19 Fév 2020
Modifié(e) : Lemuel Carlos Ramos Arzola le 19 Fév 2020
You are welcome. I am a hydraulic engineer and in a few occasions I used that formula. But I prefer the explicit formula of Swamee-Jain.

Connectez-vous pour commenter.

Plus de réponses (1)

Yagmur Atalayin
Yagmur Atalayin le 26 Mai 2020

0 votes

Can I help me please

3 commentaires

Hello. What's your problem?

How can I write marry's question at Matlab programme ,using newton Raphson and colebrook ? Please help me! Pleaseeeeee :( if I don't solve this problem ,I can failure at my lesson

How can I solve marry's problem at matlab using newton Raphson and colebrook , help me please if I don't solve this problem I can failure in my lesson

Connectez-vous pour commenter.

Catégories

En savoir plus sur Interpolation dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by