i have N observations z(1),z(2),...z(N) how can do the following formula , where N=50

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 25 Mai 2017
Bearbeitet: Andrei Bobrov am 25 Mai 2017
[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;

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by