MATLAB: How To change this C++ code to matlab code

poisson distribution

#include math.h
double AttackerSuccessProbability(double q, int z)
{
double p = 1.0 – q;
double lambda = z * (q / p);
double sum = 1.0;
int i, k;
for (k = 0; k <= z; k++)
{
double poisson = exp(-lambda);
for (i = 1; i <= k; i++)
poisson *= lambda / i;
sum -= poisson * (1 – pow(q / p, z – k));
}
return sum;
}

Best Answer

function y=AttackerSuccessProbability(q,z)
p=1-q;
lambda=z*q/p;
sum=1;
for k=0:z
poisson=exp(-lambda);
for i=1:k
poisson=poisson*lambda/i;
end
sum=sum-poisson*(1-((q/p).^(z-k)));
end
y=sum;
end
This one works.
Related Question