MATLAB: I have N observations z(1),z(2),…z(N) how can do the following formula , where N=50

hi

Best Answer

[EDIT]
MATLAB >= R2016b
N = numel(Z);
a = triu(toeplitz(Z));
a = [a,a(:,end-1:-1:1)]./exp((1-N:N-1)*20);
K = Z(end)*sum(a(:))/(2*N);
MATLAB <= R2016a
N = numel(Z);
a = triu(toeplitz(Z));
a = bsxfun(@rdivide,[a,a(:,end-1:-1:1)],exp((1-N:N-1)*20));
K0 = Z(end)*sum(a(:))/(2*N);
with loop for..end
N = numel(Z);
K = 0;
for ii = 1-N:N-1
for jj = 1:N-abs(ii)
K = K + Z(jj)*Z(jj+abs(ii))*exp(-20*ii);
end
end
K = K/2/N;