orchis_2005 发表于 2007-7-15 16:21

信号数据导入后出错

求助: 想实现点击界面按钮时就跳出对话框导入数据,
并将数据绘在axle上,程序如下:
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton8 (see GCBO)
% eventdatareserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
=uigetfile('*.*','Select a single:');
fid=fopen(fileName,'r');
SS = fread(fid,inf,'single');
sigl=1000;
fs=10000;
beg=8;
x=1.0*30*ss(beg:sigl+beg-1);
t=1/fs:1/fs:sigl/fs;
axes(handles.axes3);
plot(t,x);xlabel('time/s');ylabel('Aceceration/m/s^2');

但老是出错,如下:
??? Undefined function or variable 'fileName'.

Error in ==> test2>pushbutton8_Callback at 101
fid=fopen(fileName,'r');

Error in ==> gui_mainfcn at 75
      feval(varargin{:});

Error in ==> test2 at 42
    gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.

请哪位帮我看看,谢谢!

[ 本帖最后由 eight 于 2007-7-16 11:23 编辑 ]

花如月 发表于 2007-7-15 16:39

fid=fopen(fileName,'r');改成fid=fopen(FileName,'r');试试看:@)

orchis_2005 发表于 2007-7-15 16:48

改了下,那个位置没再出错,
谢谢!

可是又有新的问题了,请帮我再看看:

??? Error using ==> fread
Invalid file identifier -1.

Error in ==> test2>pushbutton8_Callback at 103
SS = fread(fid,inf,'single');

Error in ==> gui_mainfcn at 75
      feval(varargin{:});

Error in ==> test2 at 42
    gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.

花如月 发表于 2007-7-15 17:04

??? Error using ==> fread
Invalid file identifier -1.
无效的文件标识,自己查看以下read的用法,help read
学会独立解决问题很重要,确信自己看了帮助文档还解决不了的再来讨论了,比如你的第一个错误:未定义的变量,是因为你把FileName写成fileName一个字母只差。多思考,找原因才会有进步!建议看一下振动论坛FAQ(1.0版)之Matlab---pdf版
http://forum.vibunion.com/forum/thread-12695-1-1.html非常不错的

[ 本帖最后由 花如月 于 2007-7-15 17:10 编辑 ]

orchis_2005 发表于 2007-7-15 20:57

问题解决了.
谢谢指导!

花如月 发表于 2007-7-15 21:08

回复 #5 orchis_2005 的帖子

呵呵,提个建议。许多版友都是问题解决了一走了之,既然解决了就把你的问题原因和解决办法那来分享一下。对其他的版友或许有用处,不然这个帖子还有什么价值呢?别人看了也不会有什么收获

orchis_2005 发表于 2007-7-16 11:03

function pushbutton8_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton8 (see GCBO)
% eventdatareserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
=uigetfile('*.*','Select a single:');
fid=fopen(fileName,'r');
SS = fread(fid,inf,'single');
sigl=1000;
fs=10000;
beg=8;
x=1.0*30*ss(beg:sigl+beg-1);
t=1/fs:1/fs:sigl/fs;
axes(handles.axes3);
plot(t,x);xlabel('time/s');ylabel('Aceceration/m/s^2');

也是一个大小写的问题,将其中的SS,fileName改为了ss,FileName.
就好了!
好象MATLAB中是不区分大小写的,为什么就不清楚,!

[ 本帖最后由 orchis_2005 于 2007-7-16 11:06 编辑 ]

eight 发表于 2007-7-16 11:23

原帖由 orchis_2005 于 2007-7-16 11:03 发表 http://www.chinavib.com/forum/images/common/back.gif
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton8 (see GCBO)
% eventdatareserved - to be defined in a future version of MATLAB
% handles    struct ...

matlab 是区分大小写的
页: [1]
查看完整版本: 信号数据导入后出错