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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
123
最近訪問板塊 發(fā)新帖
樓主: wpd0508
打印 上一主題 下一主題

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

論壇徽章:
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
21 [報告]
發(fā)表于 2014-06-25 14:26 |只看該作者
本帖最后由 Herowinter 于 2014-06-25 14:38 編輯

回復 20# ly5066113
多謝大神指點,現(xiàn)在(i i) i=1,2,...5,得到的結果是y=x了。
  1. #!/bin/bash

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

論壇徽章:
0
22 [報告]
發(fā)表于 2014-06-25 15:02 |只看該作者
是為了將1 3 3 5 4 2  先求均值,然后求出與均值的偏差X1,X2,X3,X4,X5,X6,最后累加 Y1=X1 ,Y2=Y1+X2,...但是我用awk 'BEGIN{getline t < "test3"}{for(i=0;i++<NFprintf ("X%d=%d\n",i,Y=Y[i-1]+$i-t) > "test4"}' test2得到的是
Y1=-2
Y2=-2



這樣的形式,而我想的是將-2  -2  1  。以這種形式放入test4中,然后進行最小二乘法回復 19# Herowinter [/

   

論壇徽章:
0
23
發(fā)表于 2014-06-25 15:11
解決了 ,我去原來/N在shell中也表示換行,,
我真是愚,謝謝各位大大們這幾天的幫忙。。 回復 22# wpd0508


   

論壇徽章:
0
24 [報告]
發(fā)表于 2014-06-25 15:11 |只看該作者
解決了 ,我去原來/N在shell中也表示換行,,
我真是愚,謝謝各位大大們這幾天的幫忙。。 回復 22# wpd0508


   

論壇徽章:
0
25 [報告]
發(fā)表于 2014-06-25 15:11 |只看該作者
解決了 ,我去原來/N在shell中也表示換行,,
我真是愚,謝謝各位大大們這幾天的幫忙。。 回復 22# wpd0508


   

論壇徽章:
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
26 [報告]
發(fā)表于 2014-06-25 15:32 |只看該作者
回復 22# wpd0508
  1. [masonzhu@rat122 zzz]$ awk 'BEGIN{getline t < "test3"}{for(i=1;i<=NF;i++){Y[i]=Y[i-1]+$i-t;s=s?s" "Y[i]:Y[i]};print s > "test4"}' test2
  2. [masonzhu@rat122 zzz]$ cat test4
  3. -2 -2 -2 0 1 0

  4. [masonzhu@rat122 zzz]$ cat test2
  5. 1 3 3 5 4 2
  6. [masonzhu@rat122 zzz]$ cat test3
  7. 3
復制代碼
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP