找回密码
 注册
关于网站域名变更的通知
查看: 513|回复: 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可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。
" w2 Z1 G1 Y3 v
2 a% ]) E8 O- q! M# t比如A=3 ]& w) n$ u. M4 Z
3 52 t. g( }! l" U4 g2 p# s2 D6 I
2 5& g+ l) J3 w+ z+ C* Z
……# K% M9 O( P' A
+ j: [* V5 O# ^: e; J
B=
3 M- _& |5 w+ F' v6.6 7.6 150
1 `1 m0 y5 i% N/ f- s1 I, S8.9 3.5 160
- J+ {# J* h7 H# h* H( O- \8 k% \, _7.8 5.1 188
& U+ V& }% q) ?! U" q' Z7 k' M3.2 5.5 177" O" N) k0 H( P! A
……
1 A$ y+ Y* c- h; N2 ~* M( U! c+ ^5 Y- p
现在想根据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值。- q$ {+ p! o% k3 ?
$ P6 w+ J+ f. a1 I& {
请问如何实现呢?谢谢!! Z# p6 N' n) h

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);3 p, n+ p' a% L% ]; h9 U
output = zeros(1,m);
; v8 k' h2 K# m% dfor loop = 1:m0 h4 P& T: B3 d: y. f! D
data = [A(loop,: );B(:,[1,2])];2 S' F" |' s* S9 R* w8 H
D = squareform(pdist(data));%compute the euclidean distance
; E% [8 t: \6 b& @) i8 h" J1 tD = D(1,2:end); % get the distance from point in B to the loop point in A
+ h* D; a* I: S/ h+ Gindex = find(D == min(D));: e; Q9 L7 v) d: R
output(loop) = B(index,3);. u) v- K: j3 K+ V
end5 X/ Q# m4 u5 p0 P3 e3 z! Y6 d; ^

- C  Q" b- W% C5 V+ C$ K) Y! Q你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 12:49 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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