找回密码
 注册
关于网站域名变更的通知
查看: 454|回复: 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可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。. F& b0 J+ T0 z: s
8 W, W3 g% \( V& h3 V5 x. q; z; v' G
比如A=! [5 ?5 x# |. [/ m
3 5
. D. [1 z5 g1 M* h& S8 n# O1 B9 }2 5) M+ _5 |. Q  q1 N
……
+ F, `* m1 d* X0 }! e6 k& D: M5 X6 ^( [- L) E  |3 P
B=( _1 G/ x; Q/ N$ X
6.6 7.6 150
" }- h+ o* z( }2 N8.9 3.5 160# L" Q$ k  Y  M& b( Q# r; n
7.8 5.1 188% u5 J5 N9 l- o7 S2 B/ O
3.2 5.5 177
3 ?% T- S& I" u! D# o……3 S! x3 [/ \- {9 y- i: g1 W7 R

  S0 c2 e2 w7 _, D- g& a现在想根据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值。
/ X0 s* P0 v0 E+ X( S5 M/ w% V. h! }( u6 ^4 E  a2 w6 s1 H
请问如何实现呢?谢谢!, E* k3 D- O$ ^1 P3 C

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);
2 h5 |3 ]* N# d: @output = zeros(1,m);! |! {. M1 L# d; }' N
for loop = 1:m; C% `6 i* V, D' h  V1 ?
data = [A(loop,: );B(:,[1,2])];7 [" \0 t1 A* d( G7 v
D = squareform(pdist(data));%compute the euclidean distance; p# [% A; G5 a! h) t/ E: n7 d$ [
D = D(1,2:end); % get the distance from point in B to the loop point in A
: A0 `1 n: C- _. t& {( Jindex = find(D == min(D));# P6 j. j1 [0 E& [1 q& F
output(loop) = B(index,3);3 v- N4 H) @0 z
end
( Z8 r4 T& O+ d  I4 n" U. n5 B3 s# k5 e! |/ D+ S4 E
你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-1 09:40 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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