代碼裡面提及的圖片此處並不提供,本代碼僅供格式和思路參考!
\documentclass[UTF8]{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{geometry}
\usepackage{graphics}
\geometry{a4paper,centering,scale=0.65}
\usepackage{amsfonts}
\usepackage{mathrsfs}
\usepackage{underscore}
\begin{document}
\begin{titlepage}
\vspace*{15mm}
\begin{center}
{\Huge\bfseries 概率論與數理統計上機實驗課}\\[10mm]
{\Huge\bfseries 習題及其Matlab實現}\\[70mm]
{\Large\bfseries ***姓名***\\***學號***}\\[5mm]
\Large\today
\end{center}
\vspace{\stretch{3}}
\end{titlepage}
\newpage
\begin{center}
\large
\tableofcontents
\end{center}
\newpage
\section{均勻隨機數\quad Uniformly distributed random number
}\par
\large
產生m×n個區間[0,1]內的均勻分布的隨機數,這些隨機數等可能地落入區間[0,1]內長度相等的子區間中。觀察1000個在x和y方向區間[0,1]內均勻分布的隨機點在二維平面上的散布情況,給出隨機點的二維散布圖,並求出其均值及方差。\\\par
Matlab程序如下:\\\par
m=1;n=10000;\par
x=unifrnd(0,1,m,n);\par
y=unifrnd(0,1,m,n);\par
plot(x,y,'*');\par
Ex=mean(x);\par
Ex2=mean(x.*x);\par
Var$\textunderscore \, x=Ex2-Ex^2;$\par
Str= strcat$('Ex=',num2str(Ex),'var=',num2str(Var\textunderscore \, x))$\par
運行結果為:均值Ex=0.499435990818872\par
\qquad\qquad\qquad 方差var=0.083762065578910\par
二維散點圖如下:
\begin{center}
\includegraphics{2.png}\end{center}\par
\begin{center}
\includegraphics{3.png}\end{center}\par
\begin{center}
\includegraphics{4.png}\end{center}\par
\section{直方圖繪圖命令\quad Histogram drawing commands
}\par
\large
統計10000個在區間[0,1]內的均勻分布的隨機數在5個小區間內的分布情況,繪出直方圖。\\\par
Matlab程序如下:\\\par
m=1;n=10000;\par
B=5;\par
X=unifrnd(0,1,m,n);\par
hist(X,B)\par
直方圖如下:\par
\begin{center}
\includegraphics{1.png}\end{center}\par
\section{相遇問題\quad Encounter problems
}\par
\large
甲乙兩船24小時內獨立隨機到達碼頭,兩船到達時刻為X和Y,如果甲船到達後停留2小時,乙船到達後停留1小時,則兩船相遇概率為多大?\\\par
Matlab程序如下:\\\par
n=10000000;\par
x=unifrnd(0,24,1,n);\par
y=unifrnd(0,24,1,n);\par
V=zeros(1,n);\par
for i=1:n\par if$(\quad(x(i)<y(i)+1\quad \&\&\quad y(i)<x(i))\,\,||\,\,(y(i)<x(i)+2\quad \&\&\quad x(i)<$\par
$y(i))\quad)\quad V(i)=1;$\par
end\par
end\par
P=sum(V)$/n;$\par
運行結果為:p=0.120706500000000\\\par
上一程序的優化:\par
n=10000000;\par
x=unifrnd(0,24,1,n);\par
y=unifrnd(0,24,1,n);\par
V=zeros(1,n);\par
for i=1:n\quad if(\,\,\,$(x(i)<y(i)+1\quad \&\&\quad y(i)<x(i)+2)$\,\,\,)\quad V(i)=1;\par
end\par
end\par
P=sum(V)$/n;$\par
運行結果為:p=0.120807700000000\\\par
\section{貝努利試驗\quad Bernoulli trials
}\par
\large
設事件A出現的概率為p=0.5。模擬100次貝努利試驗,統計結果中0和1各自出現的次數。做五次試驗,分別統計。\\\par
Matlab程序如下:\\\par
輸入binornd(100,0.5),計算5次,得到\par
ans=46 即成功46次\par
ans=56 即成功56次\par
ans=54 即成功54次\par
ans=51 即成功51次\par
ans=50 即成功50次\par
\section{六層Galton板\quad Sixfold Bernoulli trials
}\par
\large
小球從頂部落下,在每一層遇隔板以1/2概率向左(右)下落,底部門層隔板形成7個槽,模擬10000000個小球下落,統計Galton板底各槽小球的數目。\\\par
首先列出以下的數字(a的角標)三角:\par
\qquad\qquad\quad\,\quad\, \quad\, \quad\, \quad\, 0\qquad\, 1\qquad\,0\par
\qquad\qquad\quad\,\quad\, \quad\, \quad\, 0\qquad\, 2\qquad\, 3\qquad\, 0\par
\qquad\qquad\quad\,\quad\, \quad\, 0\qquad\, 4\qquad\, 5\qquad\, 6\qquad\, 0\par
\qquad\qquad\quad\,\quad\, 0\qquad\, 7\,\,\,\qquad 8\,\qquad\, 9\,\qquad 10\qquad 0\par
\qquad\qquad\quad\, 0\qquad 11\qquad 12\qquad 13\qquad 14\qquad 15\qquad 0\par
\qquad\qquad0\qquad 16\qquad 17\qquad 18\qquad 19\qquad 20\qquad 21\qquad 0\par
Matlab程序如下:\\\par
a01=binornd(10000000,0.5)\par
a10=10000000-a01\par
a02=binornd(a01,0.5)\par
b=a01-a02\par
c=binornd(a10,0.5)\par
a23=b+c\par
a30=a10-c\par
a04=binornd(a02,0.5)\par
d=a02-a04\par
e=binornd(a23,0.5)\par
a45=d+e\par
f=a23-e\par
g=binornd(a30,0.5)\par
a56=f+g\par
a60=a30-g\par
a07=binornd(a04,0.5)\par
h=a04-a07\par
i=binornd(a45,0.5)\par
a78=h+i\par
j=a45-i\par
k=binornd(a56,0.5)\par
a89=j+k\par
l=a56-k\par
m=binornd(a60,0.5)\par
a910=l+m\par
a100=a60-m\par
a011=binornd(a07,0.5)\par
n=a07-a011\par
o=binornd(a78,0.5)\par
a1112=n+o\par
p=a78-o\par
q=binornd(a89,0.5)\par
a1213=p+q\par
r=a89-q\par
s=binornd(a910,0.5)\par
a1314=r+s\par
t=a910-s\par
u=binornd(a100,0.5)\par
a1415=t+u\par
a150=a100-u\par
a016=binornd(a011,0.5)\par
v=a011-a016\par
w=binornd(a1112,0.5)\par
a1617=v+w\par
x=a1112-w\par
y=binornd(a1213,0.5)\par
a1718=x+y\par
z=a1213-y\par
z1=binornd(a1314,0.5)\par
a1819=z+z1\par
z2=a1314-z1\par
z3=binornd(a1415,0.5)\par
a1920=z2+z3\par
z4=a1415-z3\par
z5=binornd(a150,0.5)\par
a2021=z4+z5\par
a210=a150-z5\par
fprintf('\%d\,\%d\,\%d\,\%d\,\%d\,\%d\,\%d\,\%d$\backslash$n',\,a016,a1617,a1718,a1819,a1920,a2021,a210);\par
運行結果為:156414 937345 2343185 3127681 2341999 937440 155936\par
近似於二項分布:1 6 15 20 15 6 1
\section{蒙特卡洛方法\quad Monte Carlo method
}\par
\large
計算兩條拋物線$y=x^{2}$和$x=y^{2}$圍成的面積。\\\par
Matlab程序如下:\\\par
n=10000000;\par
x=unifrnd(0,1,1,n);\par
y=unifrnd(0,1,1,n);\par
V=zeros(1,n);\par
for $i=1:n$\quad if$(\quad(x(i)>y(i)^{\wedge}2\quad\&\&\quad y(i)>x(i)^{\wedge}2)\quad)\quad V(i)=1;$\par
end\par
end\par
P=sum(V)$/n;$\par
運行結果為:$p=0.333223700000000$\\\par
精確解法:syms x y\par
f1=int$(1,x,y^{\wedge}2,sqrt(y));$\par
f2=int(f1,y,0,1)\par
運行結果為:$f2=1/3$\par
練習:\par
syms x y\par
f=$exp(-x^2/2)
;$\par
int(f,x,-inf,inf
)\par
運行結果為:ans=$2^(1/2)*pi^(1/2)$\par
\section{累計概率}\par
\large
設隨機變量X的概率密度為\par
\[p(x)=\left\{
\begin{aligned}
\frac{c}{\sqrt{1-x^{2}}} \qquad if\quad 1<x<1\\
0 \qquad\qquad\quad elsewhere
\end{aligned}
\right.
\]\par
求X的分布函數F$(x)$。\\\par
Matlab程序如下:\\\par
練習:syms x y c\par
$f=c/sqrt(1-x*x);$\par
$int(f,x,-1,1)$\par
運行結果為:$ans=pi*c$\\\par
syms x\par
$g=1/pi/sqrt(1-x*x);$\par
$int(g,x,-1,1)$\par
運行結果為:$g=5734161139222659/(18014398509481984*(1 - x^{\wedge}2)^{\wedge}(1/2))$\par
\qquad\qquad\quad$ans=(5734161139222659*pi)/18014398509481984$\par
\end{document}