2017-09-08 51 views
0

公正なコインを10,000回フリップします。 Xを頭の数と尾の数の差に対応させる。Matlab:確率期待値

N = 10000; 
i =0; 
r=1/2; 
Q=nchoosek(N,(X+N)/2); 
X=(1,N); 

for i=-N:N 
    P=Q*r.^(X+N)/2*(1-r)^(N-(X+N)/2) %pmf 
    E=sum(abs(X).*P); %expected value 

end 

は、任意の助けを大幅に

+0

なぜこれを計算するにはMATLABが必要ですか? 'Y〜Bin(10000,0.5)'を頭の数とし、 '10000-Y'を尾の数とする。したがって、 'X = Y - (10000-Y)= 2Y - 10000'なので、' E [X] = 2E [Y] - 10000 = 2(0.5 * 10000) - 10000 = 0' – jodag

+0

私は練習したい。これを書いてもらえますか? – user2542058

答えて

0

をいただければ幸いあなたは1で、単一の行列にすべてのテスト結果を置くことができます。これは私がこれまでにしたものであるX.

の期待値を計算するためにMATLABを使用しますXごとに平均を計算してからXで平均を計算します。

clear 

TAIL=0; HEAD=1; 

NumTests=121; 

NumRollsPerTest=10*1000; 

AllTestsRolls= rand(NumTests,NumRollsPerTest)>0.5 ; %head when rand>0.5 

XperTest=sum(AllTestsRolls==HEAD,2)-sum(AllTestsRolls==TAIL,2);%every row is test so calc per test 

ExpectedX=sum(XperTest)/length(XperTest) 
関連する問題