Ich fragte mich, ob jemand mir helfen könnte, diesen Teil meines Codes zu vektorisieren. Hier ist bin_pdf Binomialkoeffizientenfunktion. pb und pd sind Skalarparameter. Danke!Wie man abhängige For-Loops in Matlab vektorisieren
for t=0:min(T,r)
for n=0:r-t
pp = (bin_pdf(n,pb,r-t) * bin_pdf(t,pd,min(T,r)));
pt = pt + t/r * pp;
pn = pn + n/r * pp;
pc = pc + (r-t-n)/r * pp;
end
end
wo
function p = bin_pdf(x,rho,n)
if (x > n) || (n < 0)
p = 0;
else
p = Choosenk(n,x) * rho^x * (1-rho)^(n-x);
end
und
function C=Choosenk(n,k)
if k>n/2
k=n-k;
end;
C=1;
for i=0:k-1
C=C*(n-i)/(k-i);
end
end
Wie ist die Form von pp, pt, pn und pc? Sind sie Skalare, Vektoren oder Arrays? Und welche der Mengen wird ausgegeben, wenn Sie mit der Doppelschleife fertig sind? – chipaudette
@chipaudette Ich füge den Inhalt von bin_pdf unten hinzu. pp, pt, pn und pc sind skalar. Ich brauche die endgültigen Ergebnisse von ihnen nach allen Iterationen. –
Kannst du nicht einfach ['binopdf'] (http://es.mathworks.com/help/stats/binopdf.html) verwenden? –