Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2011-06-06, 20:40   #1
bhgx0716
初级会员
 
注册日期: 2011-05-25
帖子: 1
声望力: 0
bhgx0716 正向着好的方向发展
默认 如何从一组正实数中找到中间那个大小的实数???(长跪)

好比一组关于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 编辑。
bhgx0716 当前离线   回复时引用此帖
旧 2011-06-07, 10:52   #2
storm_good
初级会员
 
注册日期: 2011-05-25
住址: 北京
帖子: 16
声望力: 14
storm_good 正向着好的方向发展
默认 回复: 如何从一组正实数中找到中间那个大小的实数???(长跪)

for循环编程不难实现
storm_good 当前离线   回复时引用此帖
旧 2011-06-07, 14:44   #3
tannengzhi0504
初级会员
 
tannengzhi0504 的头像
 
注册日期: 2010-05-31
帖子: 21
声望力: 15
tannengzhi0504 正向着好的方向发展
默认 回复: 如何从一组正实数中找到中间那个大小的实数???(长跪)

在matlab里面用函数median 就一步实现了。
M=median(Y);
如果是奇数个实数得到的是最中位数,如果是偶数个实数得到的是按大小排列位于中间那两个实数的平均数。
tannengzhi0504 当前离线   回复时引用此帖
旧 2011-10-11, 13:30   #4
loalive
初级会员
 
注册日期: 2011-10-10
年龄: 37
帖子: 15
声望力: 14
loalive 正向着好的方向发展
默认 回复: 如何从一组正实数中找到中间那个大小的实数???(长跪)

我感觉你的办法不对。
需要先排序,再取中间值。
loalive 当前离线   回复时引用此帖
旧 2011-10-11, 13:34   #5
loalive
初级会员
 
注册日期: 2011-10-10
年龄: 37
帖子: 15
声望力: 14
loalive 正向着好的方向发展
默认 回复: 如何从一组正实数中找到中间那个大小的实数???(长跪)

这个问题,感觉不用for循环便可以,当然用for肯定能解决。
1、排序: sort()函数可以做到。
2、中间值:使用函数median()。只是这里有一个问题,当有偶数个元素的时候,用此函数得到的是两个中间函数的平均值。
楼主可以查询一下两个函数的用法,这个问题容易解决。
loalive 当前离线   回复时引用此帖
旧 2011-11-19, 19:59   #6
mathjiang
高级会员
 
注册日期: 2008-01-02
帖子: 247
声望力: 22
mathjiang 正向着好的方向发展
默认 回复: 如何从一组正实数中找到中间那个大小的实数???(长跪)

5楼说得很明白了。
但这样的问题,自己编写语句最好。
楼主闪一下就走人,不踏实。
mathjiang 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 00:02


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.