开发者社区> 问答> 正文

MATLAB中如何计算一段二进制序列的码重,就是“1”的个数

不用for循环,有默认的函数可以直接求出来吗?

展开
收起
知与谁同 2018-07-20 11:28:10 4104 0
3 条回答
写回答
取消 提交回答
  • a=str2num(dec2bin(10));%产生一个二进制数
    b=a*ones(10,1)
    b =
    1010
    1010
    1010
    1010
    1010
    1010
    1010
    1010
    1010
    1010
    2019-07-17 22:57:56
    赞同 展开评论 打赏
  • 这个时候,玄酱是不是应该说点什么...
    二进制序列是01010101010101111???这种
    a=[0 1 1 1 0 0 0 1 101 01 ];%假设这是你的序列
    mazhong=length(find(a))/length(a);%计算码重
    希望采纳,设置为满意答案,谢谢。
    2019-07-17 22:57:56
    赞同 展开评论 打赏
  • 只要对二进制序列的每一个位加和即可。

    代码示例:
    clc;clear;
    a=randi([0 1],1,15)%生成一个随机二进制序列
    sum(a)%求码重并输出
    2019-07-17 22:57:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载