matlab里矩阵的问题
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 15:05:02
matlab里矩阵的问题
matlab初学者,
有如图矩阵
现在要把它的每一行合并为一个数,变成[000000,000101,010101,111010,111111,011110...]这种形式,矩阵里的数值不是固定的,所以不能直接用数表示,请问应该怎么写才能实现?
matlab初学者,
有如图矩阵
现在要把它的每一行合并为一个数,变成[000000,000101,010101,111010,111111,011110...]这种形式,矩阵里的数值不是固定的,所以不能直接用数表示,请问应该怎么写才能实现?
使用reshape函数就可,如你的矩阵式A(m行n列),B=reshape(A',1,m*n)就是你想要的
再问: 谢谢,我试了,好像把原序列拆成了1*(m*n)的序列。能不能把每行的6个元素合并成一个数,就像把[1 0 0 1 0 1]合并成 100101?
再答: 你的矩阵元素都是0,或1吗
再问: 对,只有0和1.而且需要把合并后的数转换为十进制,可以吗?太感谢了
再答: A=[0 1 0 1 0 0;1 0 1 1 0 0;0 0 0 1 1 1 ;1 1 1 0 0 0;1 0 1 0 1 0];
B=num2str(A);
%A1=B(1,:);
%A1(find(isspace(A1))) = []这两句可以把每一行中的空格去掉比如1 0 0变成100;
C=bin2dec(B);
A =
0 1 0 1 0 0
1 0 1 1 0 0
0 0 0 1 1 1
1 1 1 0 0 0
1 0 1 0 1 0
B =
0 1 0 1 0 0
1 0 1 1 0 0
0 0 0 1 1 1
1 1 1 0 0 0
1 0 1 0 1 0
C =
20
44
7
56
42
再问: 太感谢了!!
再问: 谢谢,我试了,好像把原序列拆成了1*(m*n)的序列。能不能把每行的6个元素合并成一个数,就像把[1 0 0 1 0 1]合并成 100101?
再答: 你的矩阵元素都是0,或1吗
再问: 对,只有0和1.而且需要把合并后的数转换为十进制,可以吗?太感谢了
再答: A=[0 1 0 1 0 0;1 0 1 1 0 0;0 0 0 1 1 1 ;1 1 1 0 0 0;1 0 1 0 1 0];
B=num2str(A);
%A1=B(1,:);
%A1(find(isspace(A1))) = []这两句可以把每一行中的空格去掉比如1 0 0变成100;
C=bin2dec(B);
A =
0 1 0 1 0 0
1 0 1 1 0 0
0 0 0 1 1 1
1 1 1 0 0 0
1 0 1 0 1 0
B =
0 1 0 1 0 0
1 0 1 1 0 0
0 0 0 1 1 1
1 1 1 0 0 0
1 0 1 0 1 0
C =
20
44
7
56
42
再问: 太感谢了!!