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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
假设我有一个列向量x,x是已知的,维数为m×1。另一个列向量t,t也是已知的,维数为n×1.
" f& o- {+ }# v$ K* Q现在我要找到t中各点在x中的位置。即对每一个t(j),找到i,使得x(i)<t(j)<x(i+1)。: L, I. |$ ]1 r- t2 E3 D
如果t(j)<min(x),则i==1;) ~6 u# b! v* e- R7 {1 y
      t(j)>miax(x),则i==length(x)' X; o4 i6 s% _( H/ g2 j0 g  Z
要求使用数组操作,不能使用循环。
. i3 A8 }$ n) l0 Y- E

该用户从未签到

2#
发表于 2021-3-3 11:18 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2021-3-3 14:09 | 只看该作者
假设x, t一定是递增的(!必须满足这个条件!),那么下列代码应该可以达到楼主要求/ q+ Y3 d% ~' s% K. ^1 d3 ^& ?8 C
2 w1 {1 Q; e/ A" j4 y( H' q. G) ]
m = length(x); n = length(t);
5 Z8 t  r8 D* E- J+ Z; f! v[y i] = sort([x; t], 'ascend');
: v9 ~7 V) [  H8 V) `) rk = find(i>m);
3 U8 F. R7 F7 v3 t& W4 kk = k - [1:n]';! ^! A) {" d) ]+ a0 ~
k(k<1) = 1; k(k>m) = m;

该用户从未签到

4#
发表于 2021-3-3 14:19 | 只看该作者
这个有专门的函数的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 23:30 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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