找回密码
 注册
关于网站域名变更的通知
查看: 507|回复: 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可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。" Q7 Z3 o) a  Y; B8 X6 ]
; R3 w  Q4 I( N2 M; z7 o' Z
比如A=
7 L) R, z" B# a3 m3 5
* u. d1 l" i5 }2 54 y! G5 T4 O7 M3 t6 g/ s. j
……
3 T2 t0 g4 K! k+ c( U& m4 [2 |/ F  m
B=
) F6 y7 N1 G& C! t) `/ A; I6.6 7.6 150
$ ^" J0 g! x2 m2 g8 B) H: }8.9 3.5 160
- ^1 h; }* V. n% z! ^- v( O" U8 D. {7.8 5.1 1881 K, T- d" P  ~1 W& z) p
3.2 5.5 177: C# K0 F3 D+ Y% l2 ~) D9 |' q3 m
……
: i3 C3 K( ?7 a# e+ j  R2 R( M) v4 L  t1 C& U9 X
现在想根据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/ F5 Z( ?5 |, k1 n
/ f) h: S% K; J4 g* N2 V请问如何实现呢?谢谢!
+ X; f  s2 E0 f; W

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);8 x, b1 r5 D  V" G
output = zeros(1,m);2 A  Y9 {, M+ v7 Q4 O
for loop = 1:m* ~/ r1 d( u: q' r2 ?
data = [A(loop,: );B(:,[1,2])];
; q- u0 j6 a7 F1 F& L7 Y! pD = squareform(pdist(data));%compute the euclidean distance; M/ ^1 g" _7 N# a3 h
D = D(1,2:end); % get the distance from point in B to the loop point in A
& l: C8 [9 _; O( E. i0 I0 y# f' Dindex = find(D == min(D));) o7 J+ W8 P5 n; y# l) S9 f
output(loop) = B(index,3);
; R9 ?; L% K: ~! hend9 `/ H9 _' ]0 }1 ]: J

& {) n- C' P+ k" e你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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