找回密码
 注册
关于网站域名变更的通知
查看: 445|回复: 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可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。, V: q6 n- c3 `
1 K4 G% D+ I5 P7 U( J. ^
比如A=! W( [  X% W- A  ^' Q0 U1 Q' ^
3 58 }: [; g$ {0 z" N. P
2 59 X: P6 J& O) s/ k1 }& p
……4 s( f' R- e6 R$ T: {/ Q

+ ?4 r! h3 a" p+ ~: Q, vB=8 j; m0 w3 t) q3 _' [+ I, Y& ~8 W5 }
6.6 7.6 150  v' f2 m7 Q* T# R6 D7 u
8.9 3.5 160
3 Y/ c! ~; d& C7 D5 O' \+ J. t7.8 5.1 188
% L* C9 [8 e/ V4 Y3.2 5.5 1776 f1 ~1 y. ?5 _& T
……
! D. H3 u+ C0 }! j
* ^0 p5 Z' E0 D0 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值。
$ U1 Y8 f6 \8 [2 n, x' w! r( q: e+ w# I) M9 W/ a3 q
请问如何实现呢?谢谢!7 V* W# T/ d/ v

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);
. a% c- L% P$ X! @output = zeros(1,m);
) U% ^$ h, W) c1 m2 s8 ]for loop = 1:m
4 d' k: R' y5 bdata = [A(loop,: );B(:,[1,2])];0 }( V  {' w1 n
D = squareform(pdist(data));%compute the euclidean distance* O  y/ W6 ~; q; m- m# Z! a
D = D(1,2:end); % get the distance from point in B to the loop point in A5 i" B% h& p! @! P/ V
index = find(D == min(D));+ e" m2 f- B2 W2 F0 n$ i. N* d
output(loop) = B(index,3);
2 b6 S' C+ h$ x5 b' Oend
* e' I& h: C* b' T
, C( w, G9 l+ ~1 M7 _4 o+ e/ m; V你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-21 00:04 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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