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

matlab如何提取矩阵中一定间隔的数据

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-1-29 16:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
请问,如下图,我有一个每10min一次的数据矩阵(图1),需要提取另一个矩阵(图2)中,这10min内的所有数据,进行函数计算,请问应该用什么?之前试过find,好像不行,数据量太大了,没办法一个一个挑出来。图1:4 ?& R% A$ A- k4 b6 H! Y

2 u- C0 k2 T7 [* A! O& X# f( y图2:
% {1 S! ?( }% c: z6 A
! r; u: ~1 W4 V) g5 S+ c# Q7 r
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2023-1-29 17:43 | 只看该作者
    用 histogram函数(超链接,自己点进去看) 分组,照着 Specify Bin Edges of Histogram 示例仿写。

    该用户从未签到

    3#
    发表于 2023-1-29 17:46 | 只看该作者
    举个简单例子
    1 @2 _, t8 I. e% l5 G# n, j8 EM = ( 0 : 1 : 25  ).' / 25; % 数据
    ; b$ [% J& h9 }1 wBinRanges = [ 0, 5, 10, 13 ] / 25; % 分组边界- I6 u& u+ p' k4 @& D
    [ ~, ind ] = histc( M( : ), BinRanges ); % 分组4 ?  V) s; L% f$ o7 }5 c1 q2 z
    for ii = min( ind ) : 1 : max( ind )  u0 Q9 x; V! T/ T5 D/ q- T, I
        fprintf( 'index = %d\n', ii );
    ) e$ T0 E( j* [7 v5 h3 U    disp( M( ind == ii ) ); % 显示该组中的数据  R; L7 Q% T* @8 m2 e
    end) o3 u5 P3 e- D! x* J
    %%' g# k5 e+ v- k# Y9 a" w$ T
    [ ~, ~, bin ] = histcounts( M( : ), BinRanges ); % 同理3 N$ h: F( A/ i# K# N( ~) c' D
    for ii = min( bin ) : 1 : max( bin )2 W8 k% C1 j, @" G9 T. Q: Y
        fprintf( 'index = %d\n', ii );0 ?9 @- a- U# U
        disp( M( bin == ii ) );0 @2 g. E- k. n, \
    end
    ; g5 w) Z8 m& H1 ^) x' S, {% C' w对边界稍微留意些,不同函数分组时,对下界、上界端点是否分在该组内,需要你自己验证一下,可能需要适当调整初始的分组边界。
    ! P) _$ I# d/ i- |4 x- v5 ~# l最后,这种数据不太适合放矩阵数组,因为分组后每组数据个数可能不同,可能需要存到 cell型 元胞数组中。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-4 13:15 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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