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

1 visualizzazione (ultimi 30 giorni)

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 25 Mag 2017
Modificato: Andrei Bobrov il 25 Mag 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;
  3 Commenti
Andrei Bobrov
Andrei Bobrov il 25 Mag 2017
You use old version of MATLAB. I'm added variant for MATLAB <= R2016a

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by