how can i make this function work with arrays?
Show older comments
i have this function which works great but whenever i input an array it says "matrix dimensions must agree"
function [f]=colebrook(R,k)
f=fzero(@(f) 1/sqrt(f)+2*log10(k/3.7+2.51/(R*sqrt(f))),[1e-18,1]);
end
what can i edit to make it work with arrays?
1 Comment
dpb
on 10 Jun 2021
Use the "dot" math operators for * and / for element-by-element operation instead of matrix.
See section on "Array vs Matrix Operations" in documentation or type
doc mtimes
doc rdivide
Answers (1)
Sulaymon Eshkabilov
on 10 Jun 2021
Elementwise operation:
...
f=fzero(@(f) 1./sqrt(f)+2*log10(k/3.7+2.51./(R*sqrt(f))),[1e-18,1]);
...
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!