Matlab读取quartus Ⅱ的.tbl文件数据的程序问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 02:21:14
用matlab联合quartus Ⅱ仿真,但在下面的程序在运行的时候出现错误:错误说是在这一行dd = hex2dec(d);自己没有分析出错误的原因,请高手指点一二。若在你的指点下运行正确,本人将在奉上100积分

f1 = fopen('C:\Documents and Settings\qctc\桌面\kuopinv4.0\kuopin.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;
%取出幅度值,数据为十六进制数
d(j,1) = data(b(i)+1); %由于最终输出的是16位二进制也就是4位16进制,因而连续取4次
d(j,2) = data(b(i)+2);
d(j,3) = data(b(i)+3);
d(j,4) = data(b(i)+4);
end
end
dd = hex2dec(d); %将十六进制数转化为十进制数
plot(dd);
grid on;

f1 = fopen('C:\Documents and Settings\qctc\桌面\kuopinv4.0\kuopin.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;
%取出幅度值,数据为十六进制数
d(j,1) = data(b(i)+1); %由于最终输出的是16位二进制也就是4位16进制,因而连续取4次
d(j,2) = data(b(i)+2);
end
end
dd = hex2dec(d); %将十六进制数转化为十进制数
plot(dd);
grid on;
去掉那两行试下