Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-08-29
年龄: 37
帖子: 14
声望力: 17 ![]() |
![]()
clear all;
f1 = fopen('d:\project\dds\sanjiao\sanjiao.sim.tbl','r'); %我的tbl文件 data = fscanf(f1,'%s'); fclose(f1); b = find(data == '='); %找出“=”的下标 num = length(b); %取得文件长度 j = 0; for i = 1:num if( data(b(i) - 1) == '0') %滤除说明中的“=” j = j+1; %取出幅度值,数据为十六进制数 dd(j,1) = data(b(i)+1); %由于最终输出的是16位二进制也就是4位16进制,因而连续取4次 dd(j,2) = data(b(i)+2); dd(j,3) = data(b(i)+3); dd(j,4) = data(b(i)+4); end end ff=hex2dec(dd); %将十六进制数转化为十进制数 for i = 1:size(dd,1) %数据存储时默认无符号数,在此转化为有符号数显示 if(ff(i)>32767) ff(i)=ff(i)-65536; end end plot(ff); grid on; 这段程序的报错:Error in ==> sanjiao at 17 ff=hex2dec(dd); %将十六进制数转化为十进制数 是怎么回事啊? |
![]() |
![]() |