Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2011-05-25
帖子: 1
声望力: 0 ![]() |
![]()
好比一组关于Y坐标的正实数(可能是奇数个,也可能是偶数个):Y=[0.2759 0.1836 1.4579 0.3792 0.0656 1.2119 0.6839 0.1493 0.0716 0.9822](这个是偶数个实数),如何找到这组数列中最按大小排列最中间的那两个数中的任意一个?如果是奇数个的话,如何找到最中间大小的那一个数?
此帖于 2011-06-06 21:11 被 bhgx0716 编辑。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2011-05-25
住址: 北京
帖子: 16
声望力: 14 ![]() |
![]()
for循环编程不难实现
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2010-05-31
帖子: 21
声望力: 15 ![]() |
![]()
在matlab里面用函数median 就一步实现了。
M=median(Y); 如果是奇数个实数得到的是最中位数,如果是偶数个实数得到的是按大小排列位于中间那两个实数的平均数。 |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2011-10-10
年龄: 37
帖子: 15
声望力: 14 ![]() |
![]()
我感觉你的办法不对。
需要先排序,再取中间值。 |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2011-10-10
年龄: 37
帖子: 15
声望力: 14 ![]() |
![]()
这个问题,感觉不用for循环便可以,当然用for肯定能解决。
1、排序: sort()函数可以做到。 2、中间值:使用函数median()。只是这里有一个问题,当有偶数个元素的时候,用此函数得到的是两个中间函数的平均值。 楼主可以查询一下两个函数的用法,这个问题容易解决。 |
![]() |
![]() |
![]() |
#6 |
高级会员
注册日期: 2008-01-02
帖子: 247
声望力: 22 ![]() |
![]()
5楼说得很明白了。
但这样的问题,自己编写语句最好。 楼主闪一下就走人,不踏实。 |
![]() |
![]() |