function y=Iteration(f,x0,error)
% 为迭代函数
% x0为初始值
% error为允许误差
format long
x(1)=feval(f,x0);
x(2)=feval(f,x(1));
i=2;
while abs(x(i)-x(i-1))>error
x(i+1)=feval(f,x(i));
i=i+1;
if i>15
break
end
for j=2:i
b(j)=log10(abs(x(j)-x(j-1)));
end
n=(1:i)';
y=[n x'];
end
f=@(x)0.5*cos(x);x0=1;error=0.5*10^(-3);
Iteration(f,x0,error)
ans =
1.000000000000000 0.270151152934070
2.000000000000000 0.481865284058521
3.000000000000000 0.443066015445310
4.000000000000000 0.451720737876996
5.000000000000000 0.449848653984115
6.000000000000000 0.450256461170206