找回密码
 注册
关于网站域名变更的通知
查看: 578|回复: 3
打印 上一主题 下一主题

找到一组数据在另一组数据中的位置

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-3 10:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
假设我有一个列向量x,x是已知的,维数为m×1。另一个列向量t,t也是已知的,维数为n×1.: |/ Y8 y0 d6 p) s1 w
现在我要找到t中各点在x中的位置。即对每一个t(j),找到i,使得x(i)<t(j)<x(i+1)。* v3 _! G9 \  t7 a9 a1 [/ }! d' ]
如果t(j)<min(x),则i==1;
3 L4 v2 I, u, r) J! I" y      t(j)>miax(x),则i==length(x)' y# P' l9 _( z8 u7 M, w1 [
要求使用数组操作,不能使用循环。& d" |# G1 G1 Y* U0 u  u+ ]

该用户从未签到

4#
发表于 2021-3-3 14:19 | 只看该作者
这个有专门的函数的

该用户从未签到

3#
发表于 2021-3-3 14:09 | 只看该作者
假设x, t一定是递增的(!必须满足这个条件!),那么下列代码应该可以达到楼主要求0 x  ~) `, H1 b9 r3 ?/ m7 @: h
2 ?" r# Q! Y. O3 y
m = length(x); n = length(t);
' j3 O; M) G& `( l5 x[y i] = sort([x; t], 'ascend');3 S7 X3 G" |- X) g+ ?6 y3 z6 i
k = find(i>m);0 Q! ~: ]( g* h6 S4 v' f4 C
k = k - [1:n]';" o2 O0 x2 s' ]( c* p* p
k(k<1) = 1; k(k>m) = m;

该用户从未签到

2#
发表于 2021-3-3 11:18 | 只看该作者
帮你顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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