我的数组只存储下面的二进制数,二进制文件大小为1x31。现在我想把最后一位作为第一位,将第一位作为最后一位,依此类推。这里数据结构的选择可能非常差 - 当我学习使用二进制文件时,我可能会摆脱数组。通过简单的排序,二进制文件使得数组的排序变得更加容易。无论如何这现在很难:
Matlab中是否有一些现成命令用于将降序二进制更改为升序二进制文件?
输入
>> C(21,:)
ans =
(1,11) 1
(1,16) 1
(1,17) 1
>> full(C(21,:))
ans =
Columns 1 through 11
0 0 0 0 0 0 0 0 0 0 1
Columns 12 through 22
0 0 0 0 1 1 0 0 0 0 0
Columns 23 through 31
0 0 0 0 0 0 0 0 0
使用某些命令(例如invertDec2Asc
)确定输出的目标>> invertDec2Asc(C(21,:))
ans =
(1,21) 1
(1,16) 1
(1,15) 1
答案 0 :(得分:2)
尝试使用num2str
后跟fliplr
revnum = fliplr( num2str(num) )
<强>测试强>
num = ['101010';'010101']
revnum = fliplr( num2str(num) )
num =
101010
010101
revnum =
010101
101010
答案 1 :(得分:1)
flipud
或fliplr
是您正在寻找的。 p>
fliplr([1 0 1 0]) = [0 1 0 1]
fliplr('1010') = '0101'
matlab中二进制文件的格式:'1010',例如使用dec2bin(10)