老师给了我一个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矩阵中 end alpha=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) %画图