MATLAB: Is there error

piecewise linear interpolation given interval and tol

Error using exp Not enough input arguments.
Error in linearinterp (line 3) y=exp.^(-x./2).*sin(x.^2+8);
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

Best Answer

You don't exponentiate this way:
y=exp.^(-x./2).*sin(x.^2+8); % exp() is a function, not the value "e"
Try this:
y=exp((-x./2).*sin(x.^2+8));