高分急求!图像方面Matlab编程的问题!关于“矩阵”的问题!

来源:百度知道 编辑:UC知道 时间:2024/09/26 14:11:35
现在有一个非负矩阵,想要把矩阵的每个元素都转换成二进制数,成为一个二进制矩阵,是用dec2bin()这个函数吗?还有二进制转成十进制的!
还有一个问题就是,转换成“二进制矩阵”后,我想要把矩阵中的每一个元素的奇数位和偶数位各提取出来,组成两个新的矩阵,用什么函数???
举例:二进制3*3矩阵[0001 0010 0011
0100 0101 0110
0111 1000 1001]
要把这个二进制矩阵转换成
奇数矩阵[00 01 01 偶数矩阵[01 00 01
00 00 01 10 11 10
01 10 10] 11 00 01]
要用怎么做呢?要Matlab程序啊!

给你写了下
A=[1 2 3 ;4 5 6 ;7 8 9];
B=dec2bin(A)%将A转为二进制
C=cell(size(A))%由于得到的B的形状与A不同,我们建立一个新的元胞数据C
for i=1:length(B)
C{i}=B(i,:);%得到的C就与A的形状一样了
end
D=cell(size(A));%再建立两个元胞矩阵,分别存放奇数与偶数项
E=cell(size(A));
for i=1:length(B)
D{i}=C{i}(1:2:end);%D为奇数项
E{i}=C{i}(2:2:end);%E为偶数项
end

结果:
A =

1 2 3
4 5 6
7 8 9

>> B

B =

0001
0100
0111
0010
0101
1000
0011
0110
1001

>> C

C =

'0001' '0010' '0011'
'0100' '0101' '0110'
'0111' '1000' '1001'

>> D

D =

'00' '01' '01'
'00' '00' '01'
'01' '10' '10&