找回密码
 注册
关于网站域名变更的通知
查看: 480|回复: 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可以理解为这对坐标对应的值。有点类似于某个位置及这个位置对应的海拔。
* |6 g- q, p: m& m7 v: n3 G3 d+ i. r' ]3 @) H& f) h+ y! p
比如A=
- V/ R' I- n! |0 }5 A, ^4 G3 5
8 c2 c' t8 t# ^, B/ {7 n" s% Y) ^2 5
( |6 L# }7 w5 N$ z1 k$ ^- O, I……
1 s& w4 V! C4 c7 [
- `4 T/ p6 \- l8 bB=" B- x( ?. U9 e5 X
6.6 7.6 150( o/ Q5 B1 N  O% L- g4 e) C
8.9 3.5 160
* e" o. E, `( Y9 l# g% f3 b% i7.8 5.1 188) G* w  S0 t% v$ b1 i
3.2 5.5 1779 O7 b! T" V( S
……
7 l6 N% C9 ~6 i1 Y8 ^1 C; B
% [" X( |4 p3 L# s; @1 S. `5 W$ Y现在想根据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值。
7 p1 |0 z- L( R% ?6 y" G6 U& e/ g$ y: l2 |  K
请问如何实现呢?谢谢!& p& g" _! i3 T' U1 H' `

该用户从未签到

4#
发表于 2020-12-15 16:57 | 只看该作者
[m,n] = size(A);
. H' ~' M6 [+ K- p/ C( f6 uoutput = zeros(1,m);* |" F* l4 @  F/ U. O9 r  h
for loop = 1:m
- U" z7 j' L) H. p; M% T/ ndata = [A(loop,: );B(:,[1,2])];
5 f. a/ H9 X) ?( `- j; B4 RD = squareform(pdist(data));%compute the euclidean distance
6 a, k9 h1 _% j% n* }8 H% e5 }D = D(1,2:end); % get the distance from point in B to the loop point in A- S: X4 m" x4 ~8 y( F2 y3 a
index = find(D == min(D));
7 j" i: C" s2 k. a6 D% d( goutput(loop) = B(index,3);
% Q" B4 v& c* j! a+ E- Eend" M+ H) s( e2 Q" w6 L$ v# t! z: g  t
9 |' p( Q/ W2 {4 d
你可以试试这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 23:03 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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