登录论坛

查看完整版本 : [MATLAB基础] 如何从一组正实数中找到中间那个大小的实数???(长跪)


bhgx0716
2011-06-06, 20:40
好比一组关于Y坐标的正实数(可能是奇数个,也可能是偶数个):Y=[0.2759 0.1836 1.4579 0.3792 0.0656 1.2119 0.6839 0.1493 0.0716 0.9822](这个是偶数个实数),如何找到这组数列中最按大小排列最中间的那两个数中的任意一个?如果是奇数个的话,如何找到最中间大小的那一个数?

storm_good
2011-06-07, 10:52
for循环编程不难实现

tannengzhi0504
2011-06-07, 14:44
在matlab里面用函数median 就一步实现了。
M=median(Y);
如果是奇数个实数得到的是最中位数,如果是偶数个实数得到的是按大小排列位于中间那两个实数的平均数。

loalive
2011-10-11, 13:30
我感觉你的办法不对。
需要先排序,再取中间值。

loalive
2011-10-11, 13:34
这个问题,感觉不用for循环便可以,当然用for肯定能解决。
1、排序: sort()函数可以做到。
2、中间值:使用函数median()。只是这里有一个问题,当有偶数个元素的时候,用此函数得到的是两个中间函数的平均值。
楼主可以查询一下两个函数的用法,这个问题容易解决。

mathjiang
2011-11-19, 19:59
5楼说得很明白了。
但这样的问题,自己编写语句最好。
楼主闪一下就走人,不踏实。