Info

This question is closed. Reopen it to edit or answer.

is there a problem with my operators???

1 view (last 30 days)
Ehi Eromosele
Ehi Eromosele on 12 Feb 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
EDU>> refine(0, 7, .1) Undefined function 'f' for input arguments of type 'double'.
Error in refine (line 3)
if abs((f(x1)+f(x2))/2-f(xm))<tol
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
function linearinterp
x=linspace(-5, 2*pi, 30);
y=exp.^(-x./2).*sin(x^.2+8);
points=refine(0, 7, 0.1);
plot(x, y, points, f(points), 'r+');
hold on
plot(points, f(points));
hold off
end

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 12 Feb 2014
What is f in your function refine?
  12 Comments
Ehi Eromosele
Ehi Eromosele on 12 Feb 2014
Edited: Azzi Abdelmalek on 12 Feb 2014
function linearinterp
x=linspace(-5, 2*pi, 30);
y=exp.^(-x./2).*sin(x.^2+8);
points=refine(0, 7, 0.1);
plot(x, y, points, f(points), 'r+');
hold on
plot(points, f(points));
hold off
end
function points=refine(x1, x2, tol)
xm = (x1+x2)/2;
y=f(x);
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
Ehi Eromosele
Ehi Eromosele on 12 Feb 2014
i'll post it for better view...

Tags

Community Treasure Hunt

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

Start Hunting!