找回密码
 注册
关于网站域名变更的通知
查看: 509|回复: 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可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。+ Q4 m) V, n$ v( I; P4 O7 ^

- S% ?1 q' u& Y1 ~3 l, u/ G! t+ b比如A=
) `) s+ J1 i/ k8 [: Q) ~3 5
5 Z1 ]' e2 L: E, v4 `* G) h2 5
3 M0 ?3 V  m2 @& ?7 s- s……* A' f/ r8 Y3 m
2 ^) }1 J3 V5 {4 N; i4 }; W
B=
" n4 J$ f% L9 [! y9 `! u( E$ d6.6 7.6 1500 |  L  Y. V/ v5 K7 g
8.9 3.5 160% p) e/ Q* R8 F+ ^) F, Q7 D" f# L  s
7.8 5.1 188
. l2 z4 _5 O3 r' E2 q+ O3.2 5.5 177
% a2 K5 s( H& R# g……
: E9 N( h7 ~  t# g6 b0 J% f4 o* H8 d0 P" H
现在想根据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值。' ]* R& d1 i1 F  c0 J# q  @

. s0 G/ H/ V7 ?; ^) k请问如何实现呢?谢谢!
+ o2 ^# e9 J' _6 `, d! k% o# O

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);; s: _6 P1 D  G' o) k2 P0 I
output = zeros(1,m);
! `; e. k% m  o% N: O7 s4 cfor loop = 1:m
$ P3 t/ F6 a4 V& P6 S/ D& S8 kdata = [A(loop,: );B(:,[1,2])];
* s% b  V0 s1 y, ~D = squareform(pdist(data));%compute the euclidean distance+ C# b; e/ F7 k7 O* U1 W
D = D(1,2:end); % get the distance from point in B to the loop point in A
7 e1 {  z' X! O7 d- ^2 `8 {index = find(D == min(D));
( k. A4 ?% g1 L  x6 Qoutput(loop) = B(index,3);
# V. l/ L' y+ Y# ?9 _end
' F9 ~+ l+ x! p( g
- |- \8 q; M  j# T/ h1 J+ x9 Y# o你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 04:28 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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