Plotting a function with a given range of values.

3 views (last 30 days)
I understanding the basics of plotting an equation but for some reason I cannot get this work. I want to plot the equation for friction factor f=1/(1.8*log10(6.9/Re + (relr/3.7)^1.11))^2 in the range 2300<Re<2e7.
x = linspace(2300, 2e7, 100);
y = (1/(1.8*log10(6.9/x + (0.000965)^1.11)))^2
plot(x,y)
  1 Comment
Elias Gule
Elias Gule on 6 Mar 2018
This will most probably give you an error.
Remember x is a vector. So you should use element-wise division "./" instead of "/". Even the squaring, you need to replace ^2 with .^2.

Sign in to comment.

Answers (1)

Paul Shoemaker
Paul Shoemaker on 6 Mar 2018
X is a vector in this case, so you have to alert Matlab to treat it on a per-element basis with the use of "." before division/multiplication/power operations.
y = (1./(1.8*log10(6.9./x + (0.000965)^1.11))).^2
Paul Shoemaker

Community Treasure Hunt

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

Start Hunting!