免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5321 | 回复: 29
打印 上一主题 下一主题

找出最小值的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-10 17:28 |只看该作者 |倒序浏览
1        10
2        9
3        10
4        11
5        10
6        9
7        11
8        10
9        11
10        10
11        8
12        7
13        5
14        3
15        0
16        1
17        2
18        4
19        5
20        7
21        9
22        10
23        11
24        10
25        11

第2列 数据值 大致  是开始下降,然后增加的一个变化趋势!

所以希望:
找出最小值 ,并且 在最小值的后面数据,找出第一个  比最小值 大于3 的数据   的位置!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-06-10 23:45 |只看该作者

找出最小值的问题?

偶是找出最小值大4的数
# cat file
1 10
2 9
3 10
4 11
5 10
6 9
7 11
8 10
9 11
10 10
11 8
12 7
13 5
14 3
15 0
16 1
17 2
18 4
19 5
20 7
21 9
22 10
23 11
24 10
25 11

  1. 结果
  2. # ./scripts
  3. 0 18
复制代码

  1. # cat scripts
  2. aa=$(awk 'BEGIN{temp=0;}{if($2<temp){temp=$2;}}END{aa=$temp;print temp;}' file)
  3. bb=$(awk '/'"\<$aa\>"'/{print $1;exit}' file)
  4. cc=$(expr "$aa" + 4)
  5. dd=$(awk '$2=='"$cc"'{if (NR>="$cc")print $1;exit}' file)
  6. echo "$aa $dd"
复制代码

很笨。。。。。左边是最小值,后边是比最小值大三的数,且在最小值之后的数。

不知道如果最小值有几个要取哪一个?偶这里都取第一个匹配滴

论坛徽章:
0
3 [报告]
发表于 2005-06-11 13:38 |只看该作者

找出最小值的问题?

最小值:
awk '{print $2}' file | sort -n | head -1
位置:
awk '{print $2}' 2 | sort -n | head -1 |xargs -i expr
{} + 4 |xargs -i awk '{if($2~/{}/)print $1}' 2

论坛徽章:
0
4 [报告]
发表于 2005-06-11 14:32 |只看该作者

找出最小值的问题?

原帖由 "dbcat" 发表:
最小值:
awk '{print $2}' file | sort -n | head -1
位置:
awk '{print $2}' 2 | sort -n | head -1 |xargs -i expr
{} + 4 |xargs -i awk '{if($2~/{}/)print $1}' 2


pfpf 不过不能用~应该用==
if($2=={}/)

论坛徽章:
0
5 [报告]
发表于 2005-06-11 20:25 |只看该作者

找出最小值的问题?

BEGIN{ i=0; j=0; min=0; b3=0;}
{
if( i == 0 ){
    min = $2;
    i ++;
}else{
    if( $2 < min ){
        min = $2;
        j = 0;
    }else{
        if( j == 0 && $2 - min > 3){
            j = 1;
            b3 = $2;
        }
    }
}
}
END{ print "min=" min " b3=" b3; }

有语法错误吗?

论坛徽章:
0
6 [报告]
发表于 2005-06-13 10:01 |只看该作者

找出最小值的问题?

awk '{print $2}' 2   


这里的2是什么意思?

论坛徽章:
0
7 [报告]
发表于 2005-06-13 10:26 |只看该作者

找出最小值的问题?


  1. awk '{if (NR==1) {min=$2;dat=$0;flag=1;} if ($2<min) {min=$2;dat=$0;flag=1;} if($2>(min+2)&&flag=
  2. =1) {tag=NR;flag=0}}END{print "MIN item:"dat;print "TAG rowNo:"tag}' yourFile
复制代码

论坛徽章:
0
8 [报告]
发表于 2005-06-13 10:40 |只看该作者

找出最小值的问题?

新的要求:

求由最小值 恢复到80%平均值水平的时间差

数列的平均值为 7.76
7.76 * 80%=6.2

所以从最小值0 到 7  (第1次超过 6.2 )  的时间差为 20-15=5

论坛徽章:
0
9 [报告]
发表于 2005-06-13 10:44 |只看该作者

找出最小值的问题?

dbcat   icesummit
不能排序的。

排序就对时间顺序大乱了,
“在最小值的后面数据,找出第一个  比最小值”  这一条件就无法实现了

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2005-06-13 10:47 |只看该作者

找出最小值的问题?

偶的行不行,看到几位前辈的贴了了,偶都汗颜了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP