请问如何在MATLAB中读入DZT格式,即探地雷达数据,我想对其进行小波分析,我用了如下程序,可是读出的数据有问题,关键是所得的fid好像不对,不知道怎么回事,是不是程序有错,烦请各位高手指教!
fid=fopen('XHA_____022.DZT','rb');
status=fseek(fid,1024,'bof');
m=1024;
n=20;
a22=fread(fid,[m,n],'single');
m=m-51;
a1=zeros(m,n);
for i=1:n
for ii=1:m
a(ii,i)=a22(ii,i);
end
end
fclose(fid);
figure(1);
for l=1:n
subplot(1,n,l);
plot(a1(:,l),1:m);
hold on;
axis off;
axis('ij');
end
[RadarFile,DataPath]=uigetfile('*.dzt','选择原始探地雷达数据文件');
fid=fopen([RadarFile,DataPath],'rb');
m=1024;
n=20;
a22=fscanf(fid,'%s',[m,n]);
m=m-51;
a1=zeros(m,n);
for i=1:n
for ii=1:m
a(ii,i)=a22(ii,i);
end
end
fclose(fid);
figure(1);
for l=1:n
subplot(1,n,l);
plot(a1(:,l),1:m);
hold on;
axis off;
axis('ij');
end
用这个命令,运行后出现
??? Error using ==> fscanf
Invalid fid.