找回密码
 注册
关于网站域名变更的通知
查看: 496|回复: 3
打印 上一主题 下一主题

哪位大神知道MATLAB怎样查找并获得最接近的坐标位置对应的值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-15 13:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
已知A=[x1,y1]大小是10*2,每对x1和y1可以理解为坐标,也就是位置。已知B=[x2,y2,z2]的大小是1000*3,每对x2和y2可以理解为坐标(位置),z2可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。7 D% C9 s: _, C" O& p) V

% Q/ g7 m0 t( @/ C3 h比如A=, p/ Z  }5 S! c2 n# \% K
3 5
3 @/ L+ ]- S  V/ C' R2 5; u8 v% C6 _! C& u' F* m
……
8 `5 {( k0 o4 H& r6 w+ ^4 c
" `, A1 c0 M  g5 G4 ^4 l8 x# EB=
" R- @$ Z% I' q  V& Q6.6 7.6 150
+ ^3 }7 j$ u7 B: Z8.9 3.5 160* U2 e' l1 `, U0 C' V- k' i
7.8 5.1 188
0 t; D) }7 H0 z9 e: c4 {& T3.2 5.5 177" ?. S4 b! W9 [2 C0 P/ a! Q- s7 I7 g
……
/ G. U  F  J( |6 q0 }1 N$ |. x/ y* M4 Q
现在想根据A的每对x1和y1,获得B里面同时满足min|x1-x2|和min|y1-y1|的(x2,y2)这个位置对应的z2值。可以理解为找到B中最接近A的位置的z2值。比如上面的例子中,和A的第一个坐标对(3,5)最接近的B中的坐标对位置就是(3.2,5.5),然后要的就是这个177的值。A有10对xy坐标,最终获得的就是10个这样的z2值。- U5 L9 Y  U; [* K0 f8 C1 h

. \6 D8 I+ I9 `' K" ]请问如何实现呢?谢谢!2 D% W# k& {- |# S$ u9 y( V

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);, K; i! W. @2 D* Y3 n
output = zeros(1,m);
! X$ U; p( Y* u. ~& V1 _for loop = 1:m# k2 P$ ~6 {  g
data = [A(loop,: );B(:,[1,2])];
$ K! c2 B  X9 S( m7 j* P  dD = squareform(pdist(data));%compute the euclidean distance
5 y( L6 @( e1 C6 ^. LD = D(1,2:end); % get the distance from point in B to the loop point in A
& f, ~5 g& m/ ?( f' rindex = find(D == min(D));
$ J- v' n" {% d4 s( koutput(loop) = B(index,3);
# r8 t$ L3 h4 A: n2 nend# D3 c+ _) x; G, E& ]5 b) i

. z  D' P8 i8 h9 p- }4 f- U$ r$ g你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-2 00:11 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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