Plotting a function with a given range of values.

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 个评论

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.

请先登录,再进行评论。

回答(1 个)

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

类别

帮助中心File Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by