前段時間擔任協會負責人,在搞matlab培訓,又報了一堆競賽。最近幾個星期有空學習和記錄。上次國賽全國二等獎的目標沒達到,拿了個省一等獎,繼續努力。
下面給出圖中沒有顯示的**,給出注釋。通過寫注釋理解**以及演算法
clc,clear
format rat %資料格式是有理分數
fid=fopen(
'msdata.txt'
,'r');
%以唯讀方式開啟a=[
];while
(~feof(fid)
)%表示若未讀到檔案末尾則繼續迴圈
a=[a fgetl(fid)];
end%上面那個迴圈的意思是兩行合成一行,變成乙個字串
for i=0:
1for j=0:
1%int2str(
)把數值轉換成字串
s=[int2str(i)
,int2str(j)];
%構造子字串'ij'
f(i+
1,j+1)
=length(findstr(s,a));
endend%上面的迴圈意思是統計'00'
,'01'
,'10'
,'11'出現的次數
%然後儲存到乙個2
*2矩陣中
fs=sum
(f,2);
%計算矩陣每行總和
%fs第一行為初狀態為'0'的次數第二行為初狀態為'1'的次數
f=f.
/repmat(fs,
1,size(f,2)
)%沒看懂
得到了概率之後,我們可以大概得出乙個結論。如果乙個計算機是好的,那麼下一時段他有26
35\frac
3526
的概率是好的。
下面例題想要**下一階段的n個狀態,不再是只有兩種情況
這個問題比上一題難一些,主要是搞不懂問題中矩陣的讀數。根據給出的**推斷,原始的觀察系統應該是一行一行從左到右乙個數字代表乙個狀態。各位讀者可以自行數數驗證。然後轉化成跟上乙個例子一樣的一行數。
clc,clear
format rata=[
4321
4311
2321
2344
3311
1332
1222
4423
2311
2431
]a=a';
a=a(
:)';
for i=1:
4for j=1:
4 f(i,j)
=length(findstr(
[i j]
,a))
; end
endni=
sum(f,2)
phat=f.
/repmat(ni,
1,size(f,2)
)format
結果
phat =2/
52/5
1/101
/103/
112/11
4/112
/114/
114/11
2/111
/1101
/74/
72/7
當目前狀態為1的時候,有2
5\frac
52的概率在下一時態變成1。當目前狀態為2的時候,有3
11\frac
113
的概率在下一時態變成1…以此類推。
現實中我們有時候需要**未來n個時間段
在轉移狀態矩陣不變的情況下,只要知道初始狀態的矩陣和轉移矩陣就可以一直往求每個時間段的狀態。n→∞
n\rightarrow\infty
n→∞時,在一定條件下p
np^n
pn會趨近於乙個固定的矩陣,這裡不再贅述。
馬氏鏈模型總結
概念 描述一類重要的隨機動態系統 過程 的模型。該過程時間 狀態均為離散 的隨機轉移過程。特點 1.系統在每個時期所處的狀態是隨機的。2.從一時期到下時期的狀態按一定概率轉移。3.下時期狀態只取決於本時期狀態和轉移概率。即已知現在,將來與過去無關 無後效性 馬氏鏈的基本方程 狀態 xn 1,2 k ...
馬氏距筆記
馬氏距離與其推導這篇部落格中所提到的 由於將資料集旋轉後資料的各維度之間是不相關的 xn m求出的協方差中的,非對角元素代表的是在該樣本矩陣中,不同維度之間的影響。而馬氏距離與其推導這篇部落格是說協方差的非對角元素為0 各維度之間是不相關的 那麼協方差的非對角元素為0本身代表什麼意思?它是一種統計意...
用馬氏鏈解決市場份額問題
用lingo解答市場份額的 如下 model 新產品的市場 sets prod a b c d p link prod,prod t endsets data 轉移矩陣概率 t 0.75 0.1 0.05 0.1 0.4 0.2 0.1 0.3 0.1 0.2 0.4 0.3 0.2 0.2 0.3...