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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
假设我有一个列向量x,x是已知的,维数为m×1。另一个列向量t,t也是已知的,维数为n×1.& J2 d  s! s/ l, q  C4 J4 d2 L
现在我要找到t中各点在x中的位置。即对每一个t(j),找到i,使得x(i)<t(j)<x(i+1)。  o% ^% F/ D! f4 z9 ^# s' Z
如果t(j)<min(x),则i==1;
3 h1 g' }, D& g      t(j)>miax(x),则i==length(x)5 c; [- o$ N2 }, X6 s0 W  i0 u
要求使用数组操作,不能使用循环。2 h. i0 S& {- N! c) h, C" A

该用户从未签到

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

该用户从未签到

3#
发表于 2021-3-3 14:09 | 只看该作者
假设x, t一定是递增的(!必须满足这个条件!),那么下列代码应该可以达到楼主要求
  d9 b3 x7 ^4 b- _' S8 L" @! A' p) g7 P. J3 e
m = length(x); n = length(t);2 \8 x' _* _, W0 c' g( _; A
[y i] = sort([x; t], 'ascend');
5 o- f# U* K9 r: c' H. d( Yk = find(i>m);
; w) d1 z! C) [. Q; {k = k - [1:n]';0 p" {8 S4 v  @9 E' e- _
k(k<1) = 1; k(k>m) = m;

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 06:53 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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