matlab中基本操作(对已知数组16进制转化为10进制)

来源:互联网 发布:克隆网站软件下载 编辑:程序博客网 时间:2024/05/16 11:26
老师给了我一个txt,里面有上千个16进制数,每个数间有一个空格,要求将这个txt里的数全部转化为10进制数,并存在一个txt文档里。不知哪位大侠可以帮助我。。。如果教我将这些点画图重谢!(不画也行)txt里16进制部分数的格式如下:7B 05 7A 05 7B 05 79 05 7B 05 7B 05 7B 05 7B 05 79 05 7B 05 7A 05 7B 05 77 05 77 05 79 05 77 05 79 05 79 05 76 05 73 05 77 05 76 05 73 05 76 05 77 05 72 05 75 05 73 05 73 05 77 05 75 05 71 05 71 05 73 05 71 05 75 05 73 05 6D 05 71 05 6B 05 71 05 71 05 70 05 71 05 70 05 71 05 70 05 6B 05 70 05 6A 05 71 05 6B 05 69 05 6A 05 70 05 45 05 67 05 71 05 67 ……
a=textread('c:\a.txt','%s')';%以字符形式打开文件alpha=hex2dec(a)'; %16进制转化为10进制数,存入alpha矩阵dlmwrite('c:\b.txt',alpha,'delimiter', ' ') %将得出数据存入新的b.txt文档 -------------------哪位大侠知道如何将矩阵中的第1,3,5,7……个元素提取出来组成新矩阵。alpha2=alpha(1:2:floor(length(alpha)/2)*2+1)这个语句可以提取,但对于这个txt我用这个语句出现了错误:??? Index exceeds matrix dimensions.
%%%%%%16进制转10进制 转化方法一%%%%%%%%%%%% a=textread('c:\a.txt','%s')';%以字符形式打开文件 alpha=hex2dec(a)'; %16进制转化为10进制数,存入alpha矩阵 %%%%%%%16进制转10进制 转化方法二%%%%%%%%%%%[wenjian_ming,lujing_ming] = uigetfile('c:\a.txt','导入数据');fid=fopen(strcat(lujing_ming,wenjian_ming),'r');data=[];while ~feof(fid)m=fscanf(fid,'%3x',[1 inf]);data=[data;m];         %将读出的数据存入data矩阵中endalpha=data;%%%%%%%保存文件方法一%%%%%%%%%%%%%%dlmwrite('c:\b.txt',alpha,'delimiter', ' ') %将得出数据存入新的b.txt文档 %%%%%%%保存文件方法二%%%%%%%%%%%%%%fid=fopen('c:\d.txt','w');fprintf(fid,'%d ',alpha');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%alpha2=alpha(1:2:length(alpha)-mod(length(alpha)+1,2)); %将奇数元素提取出来dlmwrite('c:\c.txt',alpha2,'delimiter', ' ')  %将得出数据存入新的c.txt文档 %%%%%%%画图%%%%%%%%%%%%%%plot(1:length(alpha2),alpha2)  %画图

原创粉丝点击