median()

阅读(4815) 标签: 序列, 逻辑分段,

描述:

对序列分段后返回分界值。

语法:

A.median(k:n,x)

备注:

将序列A根据其长度平均分成n段,返回第k段与第k+1段的分界值,有参数x时,先对A计算表达式x,然后再分段。

k省略n不省略时,将各段的分界值组成序列返回。

k、n参数全省略时,如果序列长度是奇数返回中间位置的成员值;如果序列长度是偶数返回中间两个成员的平均值。对于不能平均分段的序列采取逻辑分段。

参数:

A

序列。

k

第k段,k>=1且k<=n,k省略时返回各段间的分界值。

n

分段数,大于1,k省略时才能省略n,n缺省为2。

x

计算表达式,有x参数时,k、n不可省略。

返回值:

数值/序列

示例:

A为序列:

 

A

 

1

=[1,2,3,4,5,6,7,8]

 

2

=A1.median()

参数全省略,序列长度为偶数,所以返回中间两个成员的平均值,即(4+5)/2,结果为4.5。

3

=A1.median(2:3)

分段形式如下:

将序列分为3段,返回第2段与第3段的分界值,结果为6。

4

=A1.median(:3)

参数k省略,返回各段的分界值组成序列,结果值为[3,6] 。

5

=A1.median(:10)

分段形式如下:

结果为:[1,2,3,4,4.5,5,6,7,8] 。

6

=A1.median(:,~%2)

原序列经过除以2取余数,然后升序排序生成新序列[0,0,0,0,1,1,1,1]。k:n参数全省略,序列长度为偶数,所以返回中间两个成员的平均值,即(0+1)/2,结果为0.5。

7

=A1.median(2:3,~%2)

将新序列分为3段,返回第2段与第3段的分界值,结果为1。

A为序表/排列:

 

A

 

1

=demo.query("select  top 10 EID,NAME,GENDER from EMPLOYEE")

2

=A1.median(,EID)

返回结果:5.5。

3

=A1.median(2:6,EID)

返回结果:4。

4

=A1.median(:6,EID)

返回结果:[2,4,5.5,7,9] 。