matlab怎么把十进制矩阵用二进制输出

2020-11-17 21:37:48 字数 4421 阅读 5987

1楼:公西南风

给你写了下

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=b(i,:);%得到的c就与a的形状一样了endd=cell(size(a));%再建立两个元胞矩阵,分别存放奇数与偶数项

e=cell(size(a));

for i=1:length(b)

d=c(1:2:end);%d为奇数项

e=c(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'

>> e

e ='01' '00' '01'

'10' '11' '10'

'11' '00' '01'

matlab中如何将二进制矩阵转为十进制矩阵

2楼:志当存高远

您好,是这样的:

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=b(i,:);%得到的c就与a的形状一样了endd=cell(size(a));%再建立两个元胞矩阵,分别存放奇数与偶数项

e=cell(size(a));

for i=1:length(b)

d=c(1:2:end);%d为奇数项

e=c(2:2:end);%e为偶数项end

用matlab编程,如何将一堆十进制数转化成二进制数输出

3楼:糖糖寳寳

转换方法:

不需要了解进制的转换规则*/

#include

#include

void main()

/*如果要处理小数,要把小数和整数部分分开处理,也不会太难*/

4楼:匿名用户

for x=0:255

dec2bin(x)end

在matlab中怎么把一个数组转换为二进制(原来是十进制的)?)

5楼:匿名用户

使用dec2bin()函数

b=double(b);

[m n]=size(b);

for i=1:m

for j=1:n

i(i,j)=str2double(dec2bin(b(i,j)));

endend

dlmwrite('datac.txt',b);

这样保存的就是每个数据的二进制形式。

下次再读数据时,用load('datac.txt'),不要用textread('datac.txt'),因为写的时候没有设置格式,用第二个函数读出来有问题。

6楼:乐乐爱知道

原数组为十进制数组,需要转换为二进制,然后取反加一,以上内容已完成,现在需要将处理后的二进制数组重新转换为十进制的数组,不知道怎么办了,求助高手赐教。

自己的程序如下,不好使。

错误提示??? assignment has more non-singleton rhs dimensions than non-singleton subscripts.

error in ==> dataprocessing at 30aa(i,1)=num2str(c(i,1));

错误信息什么意思?

for i=1:m;%m为数组中元素总数

aa(i,1)=num2str(c(i,1));

de**um(i,1)=bin2dec('aa(i,1)');%将所有处理后的二进制数一一赋给de**um(i)end

7楼:匿名用户

oh 我怎么不会了呢 哎。。当初就该好好看看matlab 哎。。。好好

8楼:匿名用户

dec2bin 十转二进

dec2hex 十转十六进

9楼:禾凝慕子薇

图像本来就村成了矩阵

每一行就是x

(i,:)

i代表行数

有了这个就简单了直接y

=x(i,:)

第i行就变成数组了。存在y里面

写个循环就可以都变成数组b=

size(x)

fori=1:b(1)

eval('y',num2str(i),'=x('num2str(i),',:))')

end这样数组就存到y1

y2...类推

如果不存数组也可以直接操作的。用上面方法

在matlab中,怎么将一个十进制的数值转化为二进制,然后将二进制的结果写到txt文本中??? 5

10楼:匿名用户

http://****21ic.***/jszt/matlab.htm

matlab学习教程,或许对你以后得学习有帮助!

matlab利用向量和函数文件将十进制正整数转化成二进制并直接在函数中输出 50

11楼:匿名用户

functionmydec2bin(d)symbols='01';

max_len=round(log(d)/log(2))+1;

digits=zeros(1,max_len);

fork=max_len:-1:1

digits(:,k)=mod(d,2);

d=round((d-digits(:,k))/2);

enddisp(num2str(symbols(digits+1)));

endfori=1:100

mydec2bin(i)end

12楼:匿名用户

十进制整数转二进制直接用dec2bin就可以了,不知题主遇到什么困难了?

如何将matlab中的矩阵以二进制存储?

13楼:匿名用户

假设你要保存的矩阵为m;如下

所示:m=[1 2 3 4;5 6 7 8;1 1 1 1];

fp = fopen('a.txt','wb');

fprintf(fp,'%f\r\n',m);

fclose(fp);

这样就把m中的数据保存在当前目录下的a.txt文件里了,你是要把矩阵的数据转换为二进制后在保存为二进制形式吗?

14楼:匿名用户

1.matlab:

fid=fopen("bif.bin","wb");

fwrite(fid,a','double');%a是矩阵,double是保存文件的数据类型。a'是a的转置,原因是,在matlab中数据是按列存放,c中是按行。所以在matlab中应先进行转置,这样

%到c中读出的数据才是正确的。

2.c:

(1)c中使用fopen,读取到二维数组中int num_read = fread(buf, 1, length, fp);(2)举例:

void readdatafromfile(mat &mat,char* bifile)}}

15楼:匿名用户

二进制的**为b

十六进制**为h

你试试把一楼那个的save a .txt m -b

matlab中怎么将 一个十进制的二维矩阵转换为十六进制的矩阵

16楼:匿名用户

>> a=[100 20 33;45 65 86];

b=dec2hex(a);

b=reshape(b,2,6)

b =612441

245d16

c语言。编写程序。把任意十进制整数转化为二进制数。并输出

1楼 饶磊 include void main while a 0 printf 输出的二进制 while i 0 printf d s i printf n c语言问题求教!!!编写一个程序,将任意一个十进制数转换成二进制数,按为存放在数组中,然后输出 2楼 董俊锟 你这数组只有这么长 可以把n定...