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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
假设我有一个列向量x,x是已知的,维数为m×1。另一个列向量t,t也是已知的,维数为n×1.
$ D" C0 Q5 w5 }* T" n2 ~现在我要找到t中各点在x中的位置。即对每一个t(j),找到i,使得x(i)<t(j)<x(i+1)。
* I! [2 Q, }; S, R+ L如果t(j)<min(x),则i==1;9 x) J. v! m" U/ N
      t(j)>miax(x),则i==length(x)4 X1 O; a3 ~- E+ [8 @# D
要求使用数组操作,不能使用循环。. y( }4 R* r. i* t1 Y9 A7 g4 ?/ A  @

该用户从未签到

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

该用户从未签到

3#
发表于 2021-3-3 14:09 | 只看该作者
假设x, t一定是递增的(!必须满足这个条件!),那么下列代码应该可以达到楼主要求
* P# U' Q- s2 f7 ~+ n
3 l; K1 U5 B0 l- S! {9 rm = length(x); n = length(t);: d3 `* J- ?9 A4 h: X
[y i] = sort([x; t], 'ascend');
1 g4 W+ z! \* p* b) K* \  I8 @- B) ?k = find(i>m);
: r8 Q" x  d+ s/ L- H% s2 Yk = k - [1:n]';' B2 h3 k5 g1 {: i6 ]. L( u0 R
k(k<1) = 1; k(k>m) = m;

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-1 00:10 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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