eklr.m

来自「用matlab实现利用统计混沌方法解决非线性系统时间序列预测的问题」· M 代码 · 共 37 行

M
37
字号
function out = eklr(alpha,dim)

if nargin<2,
        dim = 100;
end;

n = [1:dim]';

% recursive computation
out = zeros(dim,1);
out(1) = (1-alpha);
for i = 2:dim,
        out(i) = (alpha) * out(i-1) + (1-alpha) * i;
end;
out = out ./ [1:dim]';

% direct computation
est = zeros(dim,1);
for i = 1:dim,
        est(i) = (1-alpha) * sum( [0:+1:i]' .* (alpha) .^ ([i:-1:0]') );
end;
est = est ./ [1:dim]';

% plot out/est comparison
figure;
plot(n,[out,est]);

% plot
figure;
plot(n,[est,(1-alpha)*n./n],'kd-');
hxl = xlabel('w_{r}^{ t} = r');
set(hxl,'Fontsize',18,'FontAngle','italic');
hyl = ylabel('w_{r}^{ t+1} / w_{r}^{ t}');
set(hyl,'Fontsize',18,'FontAngle','italic');
axis([0,1+dim,0,1]);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?