Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-02-29, 09:51   #1
yrf20002
初级会员
 
注册日期: 2008-02-29
年龄: 39
帖子: 2
声望力: 0
yrf20002 正向着好的方向发展
难过 【求助】大家来帮帮忙啊!

我做的题目是 利用小波变换检测轴承外环故障
在matlab7.0中输入程序出不来图像,只出现 ??? Error using ==> fread
Invalid file identifier -1.
请问这是什么问题? 是不是我的软件有问题啊? 望帮忙解答,小弟不胜感激!!
程序如下:
%采样频率
fs=10000;
%轴承外环故障信号
fid=fopen('bearingout.dat','r');%故障
N=1024;
xdata=fread(fid,N,'int16');
fclose(fid);
xdata=(xdata-mean(xdata))/std(xdata,1);

%时域波形
figure(1);
plot(1:N,xdata);
xlabel('样本序号 n/个');
ylabel('电压 V/v');

%db10小波进行4层分解
%一维小波分解
[c,l] = wavedec(xdata,4,'db10');

%重构第1-4层细节信号
d4 = wrcoef('d',c,l,'db10',4);
d3 = wrcoef('d',c,l,'db10',3);
d2 = wrcoef('d',c,l,'db10',2);
d1 = wrcoef('d',c,l,'db10',1);

%显示细节信号
figure(2)
subplot(4,1,1);
plot(d4,'LineWidth',2);
ylabel('d4');
subplot(4,1,2);
plot(d3,'LineWidth',2);
ylabel('d3');
subplot(4,1,3);
plot(d2,'LineWidth',2);
ylabel('d2');
subplot(4,1,4);
plot(d1,'LineWidth',2);
ylabel('d1');
xlabel('样本序号 n/个');

%第1层细节信号的包络谱
y=hilbert(d1);
ydata=abs(y);
y=y-mean(y);
nfft=1024;
p=abs(fft(ydata,nfft));
figure(3);
plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));
xlabel('频率 f/Hz');
ylabel('功率谱 P/W');
yrf20002 当前离线   回复时引用此帖
旧 2008-02-29, 09:59   #2
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 24
dnping 是一个将要出名的人
默认

是读取你的文件的时候有问题,请详细察看一下你的文件的格式或者内容,或者选择合适的命令,fopen可能不是很适合读取.dat文件的内容……

错误信息是指用fopen读取此文件失败,返回-1结束。
dnping 当前离线   回复时引用此帖
旧 2008-02-29, 10:06   #3
yrf20002
初级会员
 
注册日期: 2008-02-29
年龄: 39
帖子: 2
声望力: 0
yrf20002 正向着好的方向发展
默认

首先谢谢了,那除了fopen,选择什么命令好呢?还有在哪选择?小弟是初学者,对matlab软件的使用方法还不太懂,谢谢!
yrf20002 当前离线   回复时引用此帖
旧 2008-02-29, 10:21   #4
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 24
dnping 是一个将要出名的人
默认

这个得看你的数据文件的数据格式,因为.dat文件是二进制的,所以编码不一样的话,读取方法也不一样,请检查你的文件的格式。
另外,matlab读取二进制的是用load命令,或者直接从命令窗口导入,见file---> import data
dnping 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:24


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.