Matlab实现二进制矩阵转换为十进制

简介: 一.问题描述     [1 1 1 0 1   0 1 1 0 1   0 0 1 1 0] 每两位3转换为一个十进制数,共5列,那么转换后是ceil(5/3)=2列。   [7 1   6 1   1 2] 二.问题分析   1.每八个字符划分为一个十进制,nwords=ceil(size(b,2)/8)   2.按列处理每行的字符,只不过1到8是一组,为第一列;9到17是二组,为第2列。

一.问题描述  

  [1 1 1 0 1

  0 1 1 0 1

  0 0 1 1 0]

每两位3转换为一个十进制数,共5列,那么转换后是ceil(5/3)=2列。

  [7 1

  6 1

  1 2]

二.问题分析

  1.每八个字符划分为一个十进制,nwords=ceil(size(b,2)/8)

  2.按列处理每行的字符,只不过1到8是一组,为第一列;9到17是二组,为第2列。

  cb = zeros([size(b,1),nwords],'uint8')

  for(j=1:size(b,2))

  {

    w = ceil(j/8);

    //用bitset(A,bit,Value),bit没组都是1到8

    cb(:,w) = bitset(cb(:,w),mod(j-1,8)+1,b(:,j))

  }

三.实现

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function cb = compactbit(b)
%
% b = bits array
% cb = compacted string of bits (using words of 'word' bits)

[nSamples nbits] = size(b);
nwords = ceil(nbits/8);%向上取整(正无穷方向)压缩bit->word.
cb = zeros([nSamples nwords], 'uint8');

for j = 1:nbits
    w = ceil(j/8);
    cb(:,w) = bitset(cb(:,w), mod(j-1,8)+1, b(:,j));
end

 

目录
相关文章
|
11月前
|
存储 数据格式 计算机视觉
MATLAB读取图片并转换为二进制数据格式
MATLAB读取图片并转换为二进制数据格式
231 1
|
11月前
|
索引
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
|
11月前
|
索引
matlab日常学习-------矩阵
matlab日常学习-------矩阵
|
6月前
|
Serverless
MATLAB中的矩阵与向量运算
【10月更文挑战第2天】本文全面介绍了MATLAB中的矩阵与向量运算,包括基本操作、加减乘除、转置、逆矩阵、行列式及各种矩阵分解方法。通过丰富的代码示例,展示了如何利用矩阵运算解决线性方程组、最小二乘法拟合、动态系统模拟和电路分析等问题。掌握这些运算不仅提升编程效率,还能在工程计算和科学研究中发挥重要作用。
303 1
|
9月前
|
机器学习/深度学习 算法 计算机视觉
通过MATLAB分别对比二进制编码遗传优化算法和实数编码遗传优化算法
摘要: 使用MATLAB2022a对比了二进制编码与实数编码的遗传优化算法,关注最优适应度、平均适应度及运算效率。二进制编码适用于离散问题,解表示为二进制串;实数编码适用于连续问题,直接搜索连续空间。两种编码在初始化、适应度评估、选择、交叉和变异步骤类似,但实数编码可能需更复杂策略避免局部最优。选择编码方式取决于问题特性。
|
10月前
|
机器学习/深度学习 存储 移动开发
MATLAB数据类型和运算符+矩阵创建
MATLAB数据类型和运算符+矩阵创建
148 1
|
11月前
|
Serverless 索引
matlab--------矩阵的运算
matlab--------矩阵的运算
matlab--------矩阵的运算
|
11月前
|
存储 JavaScript
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
311 0
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
|
11月前
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
|
11月前
|
存储 人工智能 资源调度
Matlab矩阵和数组的操作
Matlab矩阵和数组的操作
234 0

热门文章

最新文章

下一篇
oss创建bucket