Azzera filtri
Azzera filtri

sum of a product with i differnt to j

4 visualizzazioni (ultimi 30 giorni)
MichMichel
MichMichel il 7 Feb 2019
Commentato: Matt J il 7 Feb 2019
Hi All,
I want to calculate a sum of a product as following:
I think my problem is quite relative to this topic: Double sum of a product, but in my case I have j ~= i.
I think something like that should work:
t = 1:100;
n = 10;
a = randn(n,1);
P = [];
for i = 1:n
F = [];
for j = 1:n
if j~=i
f = (a(j)-a(i))^n*t;
F = [F,f'];
end
end
p = prod(F,2);
P = [P,p];
end
res = sum(P,2);
But I feel that this solution is not good and something easier should exist?
Thanks a lot,
M.

Risposta accettata

Matt J
Matt J il 7 Feb 2019
Modificato: Matt J il 7 Feb 2019
Something like this, perhaps,
A=a(:)-a(:).';
A(1:n+1:n^2)=1; %nullify i==j
f=sum(prod(A,2).^n)*t;
  2 Commenti
MichMichel
MichMichel il 7 Feb 2019
Great thanks a lot it is working well.
Matt J
Matt J il 7 Feb 2019
You're welcome, but please Accept-click the answer to certify that it addressed your question.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by