matlab中輸入一組資料怎麼求每個資料的機率

  • 作者:由 匿名使用者 發表于 攝影
  • 2021-09-26

matlab中輸入一組資料怎麼求每個資料的機率 匿名使用者 1級 2010-05-13 回答

A陣列是個例子,程式你看一下吧,有什麼不懂的再問吧!

clear;clc

A=[1 1 1 1 1 3 3 3 3 5 5 5]

B=unique(A)

c=zeros(size(B));

for i=1:length(B)

c(i)=length(find(A==B(i)));

end

c

p=c。/sum(c)

matlab中輸入一組資料怎麼求每個資料的機率 睜眼看世界 1級 2010-05-14 回答

用蒙特卡洛模擬:

n=10000 %試驗次數,越大越精確

c=zeros(n,1); %儲存每次試驗的結果

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%開始試驗

for k=1:n

%按a的密度分佈對a抽樣

r=rand; %產生一個服從u(0,1)的隨機數;

if r<0。3

a=0;

elseif r<0。3+0。3

a=0。1;

else

a=0。15;

end

%對b抽樣

r=rand; %產生一個服從u(0,1)的隨機數;

if r<0。2

b=0;

elseif r<0。2+0。3

b=0。1;

else

b=0。15;

end

c(k)=a+b;

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%試驗結果分析%%%%%%%%%%%%%%%

w=unique(c) %c的所有值

n=length(w);

num=zeros(n,1); %用於儲存c的所有值的頻數

for k=1:n

num(k)=sum(c==w(k));

end

num %頻數

p=num/n %頻率

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Top