亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2842 | 回復(fù): 8
打印 上一主題 下一主題

哈希求頻率分布 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-10-30 16:01 |只看該作者 |倒序?yàn)g覽
本帖最后由 tonyliuy 于 2015-10-30 17:03 編輯

最近想要求字符串中某個(gè)字符的大致分布,所以先畫了頻率分布圖,但是很奇怪,有些點(diǎn)的頻率數(shù)據(jù)跑到了別的點(diǎn)上,求大神指導(dǎo),哈希出了什么問題?該如何修改代碼?
第一段主體代碼:
  1. $rate = $num/length($str);
  2. if ($rate < 1) {
  3. $devide = int($rate*100);
  4. $rates{$devide} ++;
  5. } else {
  6. $rates{99} ++}
  7. }
復(fù)制代碼
數(shù)據(jù)跑出來之后都變成這樣了


第二段的代碼跟第一段基本差不多,生成的圖像是這個(gè)樣子的了:

兩組數(shù)據(jù)都有幾十個(gè),全是這個(gè)樣子,第一張圖是連續(xù)數(shù)據(jù),在50附近出現(xiàn)了小幅波動(dòng),第二張圖是離散數(shù)據(jù),就是1-99這100個(gè)數(shù),統(tǒng)計(jì)出來在30和60附近出現(xiàn)了較大幅度的波動(dòng)(之前也在50附近出現(xiàn)過)。求大神指導(dǎo),哈希到底是怎么個(gè)情況?原數(shù)據(jù)應(yīng)該是連續(xù)變化的,不應(yīng)該存在這種波動(dòng),我應(yīng)該如何修改代碼?

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
2 [報(bào)告]
發(fā)表于 2015-10-30 16:49 |只看該作者
你的圖中明顯 30 60 這兩個(gè)地方相鄰兩個(gè)值一個(gè)是0,一個(gè)值變成了雙倍?茨愕拇a用的是 int 對(duì)浮點(diǎn)數(shù)取整可以這么猜測(cè),一個(gè)除法結(jié)果是 0.2999999999 無法精確表示,*100 取整后人類會(huì)理解為 30, 計(jì)算機(jī)卻只能理解為 29 導(dǎo)致 30 這個(gè)槽直接空了都到29去了。應(yīng)該用四舍五入,而不是取整

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2015-10-30 17:00 |只看該作者
謝謝解答,第一張圖的連續(xù)數(shù)據(jù)出現(xiàn)的小幅波動(dòng)很可能是這個(gè)原因造成的,比較奇怪的是第二張圖,第二張圖的數(shù)據(jù)是很嚴(yán)格的0-99這99個(gè)整數(shù),最開始直接用數(shù)組的時(shí)候a[rate] ++數(shù)據(jù)在50附近出現(xiàn)了類似的異常,改用哈希就沒有異常了,數(shù)據(jù)很正常,這段代碼是因?yàn)榈谝欢螖?shù)據(jù)用了int直接copy過來的代碼,因?yàn)橛X得int一個(gè)整數(shù)還是自己沒影響,就沒有修改,于是第二張圖就出現(xiàn)了這個(gè)詭異的現(xiàn)象。第一張圖很可能是這個(gè)原因,第二張圖乘以100后都是離散的整數(shù),這個(gè)波動(dòng)又是怎么產(chǎn)生的呢?回復(fù) 2# zhlong8


   

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2015-10-30 17:01 |只看該作者
另外四舍五入是哪條指令呢?新人沒用過四舍五入回復(fù) 2# zhlong8


   

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
5 [報(bào)告]
發(fā)表于 2015-10-30 17:03 |只看該作者
回復(fù) 3# tonyliuy


    貼出生成數(shù)據(jù)集的代碼,不需要做圖部分

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2015-10-30 17:10 |只看該作者
  1. $str[9] =~ s/N//;
  2. $num = () = $read =~ m/c|g/ig;
  3. $rate = $num/length($read);
復(fù)制代碼


腳本就是這段代碼加上一樓的代碼,求一段基因的CG含量,第一段是模板CG含量,長(zhǎng)度不同,可以認(rèn)為是連續(xù)的,第二段是基因的讀取數(shù)據(jù),每條都是100,這個(gè)用了一步替換之后可能少于100,但是結(jié)果差異好大,完全看不懂... ...回復(fù) 5# zhlong8



   

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
7 [報(bào)告]
發(fā)表于 2015-10-30 17:30 |只看該作者
回復(fù) 4# tonyliuy


    沒有內(nèi)置的四舍五入方法,一般是 +0.5 再取int,或者用模塊 POSIX::round

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2015-10-30 18:04 |只看該作者
第一張圖的數(shù)據(jù)作為連續(xù)性數(shù)據(jù),本不應(yīng)該出現(xiàn)這樣的問題啊,+0.5也還是連續(xù)型的。我的意思是指前面解釋的,出現(xiàn)0.499999999同樣也可能出現(xiàn)0.509999999,而且這個(gè)幾率不大,連續(xù)數(shù)據(jù)每個(gè)圖都有那個(gè)波動(dòng)也不科學(xué)啊。回復(fù) 7# zhlong8


   

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
9 [報(bào)告]
發(fā)表于 2015-10-30 18:11 |只看該作者
回復(fù) 8# tonyliuy


    努力排除計(jì)算誤差(比如用精確的分?jǐn)?shù)運(yùn)算),做圖誤差(更細(xì)的區(qū)間),運(yùn)用統(tǒng)計(jì)知識(shí)證明這個(gè)波動(dòng)是遠(yuǎn)超合理范圍的,然后你就可以發(fā)論文了
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP