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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
假设我有一个列向量x,x是已知的,维数为m×1。另一个列向量t,t也是已知的,维数为n×1.
) F: x( b8 b1 g# a& ~* ^- i/ O6 z* D6 |2 U现在我要找到t中各点在x中的位置。即对每一个t(j),找到i,使得x(i)<t(j)<x(i+1)。% f/ @' r: C  w7 ?/ \1 L" H3 t
如果t(j)<min(x),则i==1;1 l7 F" \8 U4 g: A, W
      t(j)>miax(x),则i==length(x)
3 W2 e& R. O. e4 b要求使用数组操作,不能使用循环。
: O2 V0 T  ]( }/ p1 p

该用户从未签到

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

该用户从未签到

3#
发表于 2021-3-3 14:09 | 只看该作者
假设x, t一定是递增的(!必须满足这个条件!),那么下列代码应该可以达到楼主要求
- E! Q/ h# f$ N4 m) i3 o8 N! s; n  b8 X  [
m = length(x); n = length(t);
$ _! w: s  j7 u" H1 e$ ?[y i] = sort([x; t], 'ascend');- A) S- s9 t. W* g# K4 X' G
k = find(i>m);
: X! J) b$ m  D2 A  Fk = k - [1:n]';! B: s& X' W9 t+ |- e
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:56 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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