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.

 Akzeptierte Antwort

Star Strider
Star Strider am 8 Sep. 2015

1 Stimme

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by