Why is there an error when I called the function inputting the points
Afficher commentaires plus anciens
"Undefined function 'f' for input arguments of type 'double'.
Error in linearinterp>refine (line 11) if abs((f(x1)+f(x2))/2-f(xm))<tol
Error in linearinterp (line 3) points = refine(0, 7, 0.6);"
function linearinterp
f = @(x) (exp(-x/2).*sin(x.^2+8));
points = refine(0, 7, 0.6);
plot(points, f(points), 'r+');
hold on
plot(points, f(points));
hold off
end
function points = refine(x1, x2, tol)
xm = (x1+x2)/2;
if abs((f(x1)+f(x2))/2-f(xm))<tol
points=[x1,x2];
else
left=refine(x1, xm, tol);
right=refine(xm, x2, tol);
points=[left, right(2:length(right))];
end
end
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Discrete Data Plots 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!