I have create function on Matlab like this:
function f = MMP2(x1,x2)
% returns PMF of a 2-dim MMPoi with specified discrete
% mixing distribution
lambdavalue=[1,1;2,2;3,3];
lambdaprob=[0.2;0.3;0.5];
f=0;
for i=1:length(lambdaprob)
f=f+exp(-lambdavalue(i,1))
*lambdavalue(i,1)^x1
/factorial(x1)
*exp(-lambdavalue(i,2))
*lambdavalue(i,2)^x2
/factorial(x2)
*lambdaprob(i);
end
Next, I want to call the function:
pmf=zeros(11,11);
for x1=0:10
for x2=0:10
pmf(x1+1,x2+1)=MMP2(x1,x2);
end
end
figure
bar3(pmf)
but it doesn't work! what is the mistake here? I tried several time but it doesn't work. Thanks advance.

 Réponse acceptée

Star Strider
Star Strider le 8 Sep 2015
If you want to continue a statement across several lines, you have to use the ellipsis (...) operator.
This version of your loop works:
for i=1:length(lambdaprob)
f=f+exp(-lambdavalue(i,1))...
*lambdavalue(i,1)^x1...
/factorial(x1)...
*exp(-lambdavalue(i,2))...
*lambdavalue(i,2)^x2...
/factorial(x2)...
*lambdaprob(i);
end

2 commentaires

bader almulhim
bader almulhim le 8 Sep 2015
Thank you so much. It is working now.
Star Strider
Star Strider le 8 Sep 2015
My pleasure.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Line Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by