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

一维数列分割问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
3 p7 J# f: O# v; X% w! l, q" T
我有很多类似于a这样的一维数列,我想把它按中间0的部分分割成多列矩阵,保存在B里。在数列中信号出现的位置不确定,在数列中出现信号的数量不确定,比如a中有前后三段信号,中间都是0,则分割成附件B的样子,请教大神,非常感谢!
& @  a! W; g6 J: v; ~& ?6 \. w3 u& q7 ?& d" h8 m
游客,如果您要查看本帖隐藏内容请回复
  • TA的每日心情
    开心
    2019-11-19 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-5-12 11:16 | 只看该作者
    你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0才视为分割?
    7 P) i" r) t  s( A7 U% w7 i9 P我加了个Limit 数值,连续出现多个零时才会分割
    + f# I: v" D: C( Q: P0 U" a* d结果Result 与B数组一致3 s* B8 C+ b2 a1 \" `9 ~
    Limit = 10;* c, W8 s8 L+ h7 h) T  S, J" w8 G# v3 m
    idx = find(A~=0);
    " f& ?' A% v7 r* AIDX = diff(idx);
    ! z' ^% L. Y2 i3 a: aStarting = idx( [1; find(IDX>Limit) + 1] );
    ' B1 E; z" @! L: K8 uEnding = idx( [find(IDX>Limit); end] );
    3 |# ~4 Y1 s7 v$ J+ OLength = max( Ending - Starting + 1 );
    # D- R, f& N) ^- H" F' qtemp = arrayfun(@(ii) [A(Starting(ii):1:Ending(ii));zeros(Length + Starting(ii) - Ending(ii) - 1,1)],...
    & c, F4 b2 k2 c8 z    [1:1:numel(find(IDX>Limit))+1],'UniformOutput',false);4 e( W5 `8 \6 v( C, c, I
    Result = [temp{:}];
    ' E) x( k* C! z( v4 e. Z: D% Fdisp( max( max(abs(Result - B)) ) )

    点评

    感谢大神,是的,直到出现连续多个0的时候才开始分割,之前我就一直被信号中出现的个别0卡住了。  详情 回复 发表于 2020-5-12 14:22

    该用户从未签到

    3#
     楼主| 发表于 2020-5-12 14:22 | 只看该作者
    Allevi 发表于 2020-5-12 11:16
    # ]: {. S6 k# n( `! L- Q* o5 `你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0 ...
    7 T% q& {3 j& }0 z, x7 U2 }7 `- ]
    感谢大神,是的,直到出现连续多个0的时候才开始分割,之前我就一直被信号中出现的个别0卡住了。
    0 T/ h9 a# u' _# b4 D, T( K
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 08:21 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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