📄 iterate2.m
字号:
%递推计算的稳定性
function y = iterate2(n, a)
%method2: I(n-1) = 1/a * (-I(n) + 1/n), n = N, N-1, ..., 1
%I(N) = (2*a + 1) / (2*a*(a+1)*(N+1)) 当 a >= N/(N+1);
%I(N) = 0.5*[(a+1)(N+1)^(-1) + 1/N] 当 a >=0 && a <= N/(N+1).
%a = 15 | a = 0.05
MAX = 10;
if nargin == 2, %只有输入参数为2个才计算
if a >= MAX/(MAX + 1), %I(N) = (2*a + 1) / (2*a*(a+1)*(N+1)) 当 a >= N/(N+1);
if n == MAX
y = (2*a + 1) / (2*a*(a+1)*(MAX+1));
elseif n < MAX
y = 1/a * (-iterate2(n+1, a) + 1/(n+1));
else
fprintf('input parameter out of range %.3g', MAX);
end
elseif a >= 0 && a <= MAX/(MAX+1)
if n == MAX
y = 0.5*[1 / ((a+1)*(MAX+1)) + 1/MAX];
elseif n < MAX
y = 1/a * (-iterate2(n+1, a) + 1/(n+1));
else
fprintf('input parameter out of range %.3g', MAX);
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -