Matlab产生有序二进制矩阵

利用MATLAB产生有序的二进制矩阵

最近在做学校的一个项目,选择了用非侵入式的方法对家庭用电进行负荷分解。讨论之后决定用进制拟合算法来做,在网上找了半天没有找到产生有序二进制矩阵的轮子,自己写了一个。
主要是利用了matlab中的bitget函数。

function [out]=bin_listg1(nsize)
%有序产生nsize位二进制码
n=2^nsize;               %矩阵的行数
w=zeros(n,nsize);        %产生结果矩阵
for m = 1:n              %二进制有序矩阵的产生
    w(m,:) = bitget(m-1,nsize:-1:1); 
end
out = w;
end

举例:

a=bin_listg1(4)   %产生有序4位二进制矩阵
a =

     0     0     0     0
     0     0     0     1
     0     0     1     0
     0     0     1     1
     0     1     0     0
     0     1     0     1
     0     1     1     0
     0     1     1     1
     1     0     0     0
     1     0     0     1
     1     0     1     0
     1     0     1     1
     1     1     0     0
     1     1     0     1
     1     1     1     0
     1     1     1     1

希望帮到大家~~~~~嘻嘻

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值