Help Using Newton Rhapson Method for Colebrook equation

2 次查看(过去 30 天)
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

采纳的回答

Lemuel Carlos Ramos Arzola
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 个评论
Lemuel Carlos Ramos Arzola
编辑:Lemuel Carlos Ramos Arzola 2020-2-19
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.

请先登录,再进行评论。

更多回答(1 个)

Yagmur Atalayin
Yagmur Atalayin 2020-5-26
Can I help me please
  3 个评论
Yagmur Atalayin
Yagmur Atalayin 2020-5-26

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

Yagmur Atalayin
Yagmur Atalayin 2020-5-26
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

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by