Why is there an error when I called the function inputting the points
Mostra commenti meno recenti
"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
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Interpolation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!