找回密码
 注册
关于网站域名变更的通知
查看: 510|回复: 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可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。% _4 c1 u  {! j; w& _

5 @, T1 _: N1 P, ]& i比如A=
6 a  h% v  q4 h! Y3 5
, U# B( R3 q! X9 l( n. u2 5
4 o! l; \; `! G; \& {……
- t9 D8 S0 v! ^: `  X4 k4 U; `! F4 C. t( R% Z2 X
B=3 U- _9 d' A' J% m9 q8 N2 \
6.6 7.6 150' B$ W2 w  J6 u* x: R
8.9 3.5 160
, V* M3 T" G+ n7.8 5.1 188
  @% a% s5 p$ p3.2 5.5 177) P& ^: J) m' W  m3 G' ~
……
& J( D0 _# V7 M' q3 D3 i
! K! ^3 w2 n/ p  D" X( K4 F" 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值。
& }2 u9 _; a; ~8 c6 T
# [, |1 a2 y' v- l' [. c7 n0 w请问如何实现呢?谢谢!$ X$ F. Y( |, w% k% B& E% R

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);4 d" t1 r( E" Z6 E2 v% Z
output = zeros(1,m);
8 _8 _$ L. I" I: lfor loop = 1:m
7 L  W6 T* m* s- z, `data = [A(loop,: );B(:,[1,2])];+ }+ c4 A1 i& S/ d# O9 q
D = squareform(pdist(data));%compute the euclidean distance  |# l- W. C8 b
D = D(1,2:end); % get the distance from point in B to the loop point in A+ p  L- A+ u" b6 Z6 v. a* }
index = find(D == min(D));; g$ N9 s, z+ V- Q+ V/ V& G- l
output(loop) = B(index,3);
# [6 {, c0 u5 z* ?6 Q& hend, x7 c; A% R* a% d5 D
+ d; n* S- s' z) K
你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 08:32 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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