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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
123下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
樓主: wpd0508
打印 上一主題 下一主題

[文本處理] 怎么對(duì)文本中的數(shù)字進(jìn)行分組然后運(yùn)算 [復(fù)制鏈接]

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
11 [報(bào)告]
發(fā)表于 2014-06-25 10:19 |只看該作者
翻了樓主的另一個(gè)帖子,找到計(jì)算E的這些參數(shù)的意義了。
  1. 如果我想要繼續(xù)對(duì)得到的數(shù)據(jù)進(jìn)行處理,比如說(shuō)對(duì)以上得到的數(shù)組 [ Yi ]  以L個(gè)為單元進(jìn)行分組, 即第一組為 [  Y1 Y2 Y3 ... YL].    對(duì)這L個(gè)數(shù)字進(jìn)行最小二乘法擬合,得 Y=a1 x + a0, (這里的x為數(shù)組對(duì)應(yīng)的下標(biāo)數(shù),即1~ L).
  2. 計(jì)算偏差量  E = sqrt( sum (Yi - (a1*xi +a0) )^2)這就很麻煩了是不是?能幫忙解決一下嗎?
復(fù)制代碼

論壇徽章:
36
摩羯座
日期:2013-09-23 16:37:312015年亞洲杯之沙特阿拉伯
日期:2015-04-14 09:10:172015亞冠之柏太陽(yáng)神
日期:2015-06-25 08:48:212015亞冠之武里南聯(lián)
日期:2015-07-28 09:01:082015亞冠之萊赫維亞
日期:2015-07-28 15:44:172015亞冠之柏斯波利斯
日期:2015-09-06 14:08:52白銀圣斗士
日期:2015-11-25 17:06:2815-16賽季CBA聯(lián)賽之吉林
日期:2015-12-09 16:59:072016猴年福章徽章
日期:2016-02-18 15:30:3415-16賽季CBA聯(lián)賽之遼寧
日期:2016-04-14 09:29:04luobin
日期:2016-06-17 17:46:3615-16賽季CBA聯(lián)賽之天津
日期:2016-08-16 14:11:01
12 [報(bào)告]
發(fā)表于 2014-06-25 10:24 |只看該作者
回復(fù) 10# Herowinter
你瘦的不夠徹底啊,你看我,完美身材

   

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
13 [報(bào)告]
發(fā)表于 2014-06-25 12:02 |只看該作者
本帖最后由 Herowinter 于 2014-06-25 12:55 編輯

回復(fù) 1# wpd0508
不知道結(jié)果對(duì)不對(duì),有錯(cuò)請(qǐng)指出,把大神提供的最小2乘法封裝了下,
用來(lái)求數(shù)組a中a[1],..a[n]對(duì)應(yīng)的系數(shù)a0,a1
  1. #!/bin/bash

  2. awk -vl=5 '
  3.     function least_square(a,n,a0,a1){
  4.         for(x=1;x<=n;x++)
  5.             s += a[x];
  6.         avg = s/n;
  7.         for(x=1; x<=n; x++)
  8.         {
  9.                 y = a[x] - avg
  10.                 sx += x
  11.                 sy += y
  12.                 sxy += x * y
  13.                 sx2 += x * x
  14.         }
  15.         a0 = (sx2 * sy - sx * sxy) / (n * sx2 - sx * sx)
  16.         a1 = (n * sxy - sx * sy) / (n * sx2 - sx * sx)
  17.     }
  18.       
  19.     {
  20.       sum = 0
  21.       count = 0
  22.       k = 0
  23.       for(i=1;i<=NF;i++){
  24.          a[++count]=$i
  25.          if(count==l){
  26.              least_square(a,l,a0,a1);
  27.              sum=0;
  28.              count=0;
  29.              for(j=1;j<=l;j++){
  30.                  sum += a[j]-(a1*j+a0)^2
  31.              }
  32.              E[++k]=sqrt(sum);
  33.             
  34.          }
  35.       }
  36.       if(count>0){
  37.           least_square(a,count,a0,a1);
  38.           sum=0;
  39.           for(j=1;j<=count;j++){
  40.                  sum += a[j]-(a1*j+a0)^2
  41.              }
  42.           E[++k]=sqrt(sum);
  43.       }
  44.       sum=0;
  45.       for(i in E)
  46.           sum += E[i]
  47.       print sum/k
  48.     }
  49.    
  50.    ' i
復(fù)制代碼
  1. cat i
  2. 1 2 4 5 6 13 141 3 11 13 44 11
  3. 1 2 4 5 6 7 8 9 10
復(fù)制代碼
結(jié)果
  1. ./test.sh
  2. 8.37082
  3. 8.7449
復(fù)制代碼

論壇徽章:
0
14 [報(bào)告]
發(fā)表于 2014-06-25 12:42 |只看該作者
大大,非常感謝你教我了在LINUX里如何封裝函數(shù),sum += a[j]-(a1*j+a0) 這里少了一個(gè)平方,還有就是為什么得到的是a1,a0,而不是E的平均數(shù)嗎?回復(fù) 13# Herowinter


   

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
15 [報(bào)告]
發(fā)表于 2014-06-25 12:57 |只看該作者
本帖最后由 Herowinter 于 2014-06-25 13:06 編輯

回復(fù) 14# wpd0508
13樓的代碼我改了,加了平方,但是計(jì)算結(jié)果沒(méi)影響。。。
不知到哪里有問(wèn)題。按照你的需求,要先算出a0,a1才能代入
公式計(jì)算E的吧,我這里最后打印的就是每行的所有E的平均值。

有個(gè)數(shù)學(xué)知識(shí)請(qǐng)教下,我輸入Y=[1,2,3,4,5],最小2乘法算出來(lái)的
不是a1=1,a0=0,Y=x嗎?
   

論壇徽章:
0
16 [報(bào)告]
發(fā)表于 2014-06-25 13:03 |只看該作者
如果a1=1,a0=1 ,Y=1+x大大還有就是awk 'BEGIN{getline t < "b"}{for(i=0;i++<NFprintf ( "%d\n",i,X=X[i-1]+$i-t)>c}' a  這個(gè)代碼能產(chǎn)生的數(shù)是以一行1個(gè)數(shù)的形式放入文件c中的,如何改為以空格為分隔符放入文件c中呢
回復(fù) 15# Herowinter


   

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
17 [報(bào)告]
發(fā)表于 2014-06-25 13:09 |只看該作者
回復(fù) 16# wpd0508
上面我寫錯(cuò)是a1=1,a0=0,你的原始文本不是1行
10幾個(gè)數(shù)嗎?怎么又變成1行1個(gè)了。。。,你重新
描述需求吧,輸入數(shù)據(jù)格式,期望結(jié)果。
   

論壇徽章:
0
18 [報(bào)告]
發(fā)表于 2014-06-25 13:59 |只看該作者
對(duì)的,我是想讓你幫我看看另外一個(gè)問(wèn)題,
cat test2
1 3 3 5 4 2
test3
3
awk 'BEGIN{getline t < "test3"}{for(i=0;i++<NFprintf ("X%d=%d\n",i,X=X[i-1]+$i-t)> "test4"}' test2
X1=-2
X2=-2
X3=-2
X4=0
X5=1
X6=0
如何將-2 -2 -2 0 1 0 這幾個(gè)數(shù)以這種形式放入test4 ,前面提到的問(wèn)題就是從這一步開始的。回復(fù) 17# Herowinter


   

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
19 [報(bào)告]
發(fā)表于 2014-06-25 14:11 |只看該作者
本帖最后由 Herowinter 于 2014-06-25 14:14 編輯

回復(fù) 18# wpd0508
你從test2 => test4 僅僅是為了把
1 2 3 4 5變?yōu)?br />
1
2
3
4
5  ???
我是有點(diǎn)被你搞糊涂了,我13樓的代碼不需要這種轉(zhuǎn)換,
你直接把里面的文件名改為test2應(yīng)該可以的。

還有,想要得到正確的結(jié)果,必須要保證你提供的最小2乘法
算法能計(jì)算出正確的a0,a1,為什么我輸入5個(gè)點(diǎn)(1,1)  (2,2)
(3,3)  (4,4)  (5,5),計(jì)算的結(jié)果不是a0=0,a1=1,  y=x呢?


   

論壇徽章:
23
15-16賽季CBA聯(lián)賽之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午馬
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16賽季CBA聯(lián)賽之山東
日期:2017-12-21 16:39:1915-16賽季CBA聯(lián)賽之廣東
日期:2016-01-19 13:33:372015亞冠之山東魯能
日期:2015-10-13 09:39:062015亞冠之西悉尼流浪者
日期:2015-09-21 08:27:57
20 [報(bào)告]
發(fā)表于 2014-06-25 14:12 |只看該作者
回復(fù) 15# Herowinter


把 y = a[x] - avg 改為
y = a[x]
就是你想要的結(jié)果了。

樓主原來(lái)的需求里是把樣本數(shù)據(jù)減去均值后的數(shù)據(jù)作為樣本的,所以我的代碼里減去了均值。
您需要登錄后才可以回帖 登錄 | 注冊(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ū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP