Why do I keep running into errors???
1 次查看(过去 30 天)
显示 更早的评论
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
2 个评论
Azzi Abdelmalek
2014-2-11
How are we supposed to know? no error message, no details about how you ran your two functions ...
采纳的回答
Walter Roberson
2014-2-12
You cannot just press F5 or click on "run". You need to go to the command window and call the function like you were putting it into a program. For example,
refine(1.343, 83.60, 1e-6)
更多回答(1 个)
Image Analyst
2014-2-12
exp.^(-x./2) is not proper. exp is a function, not the value "e", so it must be immediately followed by a left parenthesis: exp(-x/2). You do not need the dot before the slash because 2 is a scalar, not an array.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!