五木
2008-08-29, 14:31
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); %将十六进制数转化为十进制数
是怎么回事啊?
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); %将十六进制数转化为十进制数
是怎么回事啊?