📄 fixedpoint.m
字号:
function fixedpoint(f,xmin,xmax,xstart);
% FIXEDPOINT Illustrate fixed point iteration.
% fixedpoint(f,xmin,xmax,xstart) tries to solve x = f(x).
% Examples
% f = @(x) sqrt(1+x); fixedpoint(f, -1, 4, 0) (Default)
% f = @(x) 1./x+1; fixedpoint(f, .5, 2.5, 1)
% f = @(x) cos(x); fixedpoint(f, -pi/4, pi/2, 0)
% a = sqrt(2); f = @(x) a.^x; fixedpoint(f, 1, 5, 3)
% a = 3+randn, f = @(x) a*x.*(1-x); ...
% fixedpoint(f, 0, 1, .5), title([num2str(a) '*x*(1-x)'])
% Default example
if nargin == 0
f = @(x) sqrt(1 + x);
xmin = -1;
xmax = 4;
xstart = 0;
end
% Iteration
x = xstart;
y = f(x);
n = 1;
while (x(n) ~= y(n)) & (n < 50) & (max(abs(y)) < 100)
n = n+1;
x(n) = y(n-1);
y(n) = f(x(n));
end
% Plot
t = sort([xmin:(xmax-xmin)/256:xmax x]);
x = [x; x];
y = [x(1) y(1:n-1); y];
plot(t,t,'-',t,f(t),'-',x(:),y(:),'k-',x(end),y(end),'ro');
axis tight
axis square
set(zoom(gcf),'ActionPostCallback','zoomer')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -