sum of a product with i differnt to j

1 visualizzazione (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)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by