[求助]点击fig文件操作没有反映,在matlab里GUI打开文件后可以操作
			 
			 
			
		
		
		
			
			程序如下:比较粗糙文件名为Untitled... 
function varargout = untitled(varargin) 
gui_Singleton = 1; 
gui_State = struct('gui_Name',       mfilename, ... 
                   'gui_Singleton',  gui_Singleton, ... 
                   'gui_OpeningFcn', @untitled_OpeningFcn, ... 
                   'gui_OutputFcn',  @untitled_OutputFcn, ... 
                   'gui_LayoutFcn',  [] , ... 
                   'gui_Callback',   []); 
if nargin & isstr(varargin{1}) 
    gui_State.gui_Callback = str2func(varargin{1}); 
end 
 
if nargout 
    varargout{1:nargout} = gui_mainfcn(gui_State, varargin{:}); 
else 
    gui_mainfcn(gui_State, varargin{:}); 
end 
 
 
function untitled_OpeningFcn(hObject, eventdata, handles, varargin) 
 
handles.output = hObject; 
 
 
guidata(hObject, handles); 
 
function varargout = untitled_OutputFcn(hObject, eventdata, handles) 
 
varargout{1}= handles.output; 
 
 
 
function varargout =pushbutton1_Callback(h, eventdata, handles, varargin) 
 
TRD = str2double(get(handles.TRdistance,'String')); 
N = str2double(get(handles.n,'String')); 
D0 = str2double(get(handles.d0,'String')); 
EN = str2double(get(handles.ExampleNumber,'String')); 
SIGMA = str2double(get(handles.Sigma,'String')); 
 
 
% Calculate data 
n1=normrnd(0,SIGMA,[1,EN]);%生成100个高斯随机变量 normrnd(0,1,[1 5]) 
y=(10*N*log(TRD/D0)); 
y1=y+n1*10; 
 
% Create frequency plot 
axes(handles.axes2) 
 
for i=1:1:EN 
			plot(TRD(1,i),y1',':db'); 
			hold on; 
	end 
title('对数阴影正态分布'); 
 
xlabel('t-r 距离'); 
ylabel('PathLoss'); 
set(handles.axes2,'XMinorTick','on') 
grid on 
 
 
在外面点击fig文件后 弹出的操作界面没有办法运行不出结果并且报错 
open('D:\MATLAB6p5\work\untitled.fig') 
??? Attempt to reference field of non-structure array 'handles'. 
 
Error in ==> D:\MATLAB6p5\work\untitled.m (pushbutton1_Callback) 
On line 41  ==> TRD = str2double(get(handles.TRdistance,'String')); 
 
Error in ==> D:\MATLAB6p5\toolbox\matlab\uitools\gui_mainfcn.m 
On line 66  ==>         feval(varargin{:}); 
 
Error in ==> D:\MATLAB6p5\work\untitled.m 
On line 20  ==>     gui_mainfcn(gui_State, varargin{:}); 
 
??? Error while evaluating uicontrol Callback. 
 
在matlab->new->GUI 后运行会出结果 但是也有报错 
 
Index exceeds matrix dimensions. 
 
Error in ==> D:\MATLAB6p5\work\untitled.m (pushbutton1_Callback) 
On line 57  ==> 			plot(TRD(1,i),y1',':db'); 
 
Error in ==> D:\MATLAB6p5\toolbox\matlab\uitools\gui_mainfcn.m 
On line 66  ==>         feval(varargin{:}); 
 
Error in ==> D:\MATLAB6p5\work\untitled.m 
On line 20  ==>     gui_mainfcn(gui_State, varargin{:}); 
 
??? Error while evaluating uicontrol Callback.
		 
		
		
		
		
		
		
		
	 |