Info

此问题已关闭。 请重新打开它进行编辑或回答。

is there a problem with my operators???

1 次查看(过去 30 天)
Ehi Eromosele
Ehi Eromosele 2014-2-12
关闭: MATLAB Answer Bot 2021-8-20
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

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2014-2-12
What is f in your function refine?
  12 个评论
Ehi Eromosele
Ehi Eromosele 2014-2-12
编辑:Azzi Abdelmalek 2014-2-12
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

此问题已关闭。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by