Re: [問題]新手請教一下~
※ 引述《sunbelt (...)》之銘言:
: 假如有一個字串 abcadeceaacbb
: 要找aa、ab、ac、...、ba、bb、bc...等 ,出現之機率,
: 找一個1階markov chain (例: a 後面接b、c、d...等之機率)
: 因為這幾天才剛接觸perl,只學會用些較簡單之語法0rz
: 我的想法是:
: 1. 先將字串切成一個陣列: @A=(ab、bc、ca ...)
: 2. 設一個Hash陣列存各元素出現次數: 例: aa => 次數
: 3. 設一個Hash陣列存a、b、c...開頭之元素出現次數:
: 例: a=>次數 (a開頭元素出現之次數)
: 4. 用上面兩個Hash陣列計算機率,設一個Hash陣列:
: 例 aa=>機率(a後面接a之機率)
: 想問一下有沒有其它建議的方法。謝謝囉~
太長了 只好用回的
aa的機率 = scalar(@m1=$str=~m/(?=(aa))/g)/scalar(@m2=$str=~m/(?=(a.))/g)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.241.208
※ 編輯: redmist 來自: 140.113.241.208 (12/17 12:45)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章