爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4007|回复: 3

(已解决)关于利用find函数返回最小值位置,很惭愧,只提出了微小的问题

[复制链接]

新浪微博达人勋

发表于 2016-12-13 16:09:41 | 显示全部楼层 |阅读模式
MATLAB
问题截图: -
问题概况: 如题
我看过提问的智慧: 看过
自己思考时长(天): 5
系统平台:

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 lacksouth 于 2016-12-22 09:50 编辑

求取两组数据匹配最近点问题,程序可能编的繁琐了些(如果有简便方法,望不吝告知),主要是遇到个问题:有时候会存在两个与匹配点最近的点,这样会返回两个值,请问如何解决?
for m=1:521
    for i=1:3200
        for j=1:768
dis(i,j,m)=(lat_cloudsat(m)-latitude(i,j))^2+(lon_cloudsat(m)-longitude(i,j))^2;
        end
    end
s=dis(:,:,m);   
[x(m),y(m)]=find(s==min(min(s)));
end
error:In an assignment  A(I) = B, the number of elements in B and I must be the same.
简化的例子,例如:
   a=[ 17    24     1     8    15
    23     5     1    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9];
有两个最小值,1.
[x,y]= find(a==min(min(a)));
返回x=【1;2】
y=【3,3】,如何只让他随机返回一个坐标值呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-14 08:48:52 | 显示全部楼层
稍微顶一下,别沉。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-14 09:15:16 | 显示全部楼层
[x,y]= find(a==min(min(a)),1);%返回第一个最小值坐标
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-14 09:39:58 | 显示全部楼层
简单人啊 发表于 2016-12-14 09:15
[x,y]= find(a==min(min(a)),1);%返回第一个最小值坐标

原来是这样,非常感谢。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表