MATLAB中如何将GUI输入对话框输入的信息,定义并且在此使用?
跪求一解,在gui中输入的信息将保存在细胞组中,但是怎么能定义并使用这些信息进行下一步的运算,请给出如何定义和可以利用的代码!!!...
跪求一解,在gui中输入的信息将保存在细胞组中,但是怎么能定义并使用这些信息进行下一步的运算,请给出如何定义和可以利用的代码!!!
展开
2013-06-28
展开全部
你的问题我今天刚刚解决,可能有点复杂哈,不过很好懂。激搏神
假设你有一个GUI叫gui_1,另一个叫gui_2,在gui_2中调用gui_1的参数或者结果,
在gui_2中的buttonCallback下输入
..................
function pushbutton1_Callback(hObject, eventdata, handles)
a=gui_1;
.................
则gui_1的结果就传递到a中。
现在再说gui_1中的参数输入,
(1)返回值只有一个的情况
在gui_1中的:
function gui_1_OpeningFcn(hObject, eventdata, handles, varargin)
下面任意一个地方输入
handles.output = 数据或者变量名;
...........................
在gui_1中的
function varargout = untitled_OutputFcn(hObject, eventdata, handles)
varargout = handles.output;
其实程序本来的.m文件就是这样的,不用更改,如果数据或者变量是在同一个GUI中别的控件或执行中输入的,将数据或者变量名定义为全局变量就可
global 数据或者变量名;
同时在function gui_1_OpeningFcn(hObject, eventdata, handles, varargin)
第一句就输入
global 数据或者变量名;
再输入handles.output = 数据或者变量名;即可。
(2)返回值有多个以上的情况
基本以上面相同,
function gui_1_OpeningFcn(hObject, eventdata, handles, varargin)
下面任意一个地方输入
handles.output = 数据1或者变量名1;
handles.secend_output = 数据2或者变量名2;
handles.thrid_output = 数据3或者变量名3;
...........................
同时在
在gui_1中OutputFcn输入以下语句
function varargout = gui_1_OutputFcn(hObject, eventdata, handles)
varargout = handles.output;
varargout = handles.secend_output;
varargout = handles.thrid_output;
........................
依次类推,在同一个gui中的参数传递采用上述的设置为全局变量调用即可。
同时对返回值为多参数的情明亏况gui_2中则要输入语句改为
在gui_2中的buttonCallback下输入
..................
function pushbutton1_Callback(hObject, eventdata, handles)
[data1,data2,data3,....]=gui_1;
.................
则gui_1的结果就传递到[data1,data2,data3,....]=中,分银租别对这些返回值进行操作即可。
按照以上的做法,可能很复杂,可是对于初学者一看就明白,我也是刚刚才开始学习,不知对你有帮助没。
假设你有一个GUI叫gui_1,另一个叫gui_2,在gui_2中调用gui_1的参数或者结果,
在gui_2中的buttonCallback下输入
..................
function pushbutton1_Callback(hObject, eventdata, handles)
a=gui_1;
.................
则gui_1的结果就传递到a中。
现在再说gui_1中的参数输入,
(1)返回值只有一个的情况
在gui_1中的:
function gui_1_OpeningFcn(hObject, eventdata, handles, varargin)
下面任意一个地方输入
handles.output = 数据或者变量名;
...........................
在gui_1中的
function varargout = untitled_OutputFcn(hObject, eventdata, handles)
varargout = handles.output;
其实程序本来的.m文件就是这样的,不用更改,如果数据或者变量是在同一个GUI中别的控件或执行中输入的,将数据或者变量名定义为全局变量就可
global 数据或者变量名;
同时在function gui_1_OpeningFcn(hObject, eventdata, handles, varargin)
第一句就输入
global 数据或者变量名;
再输入handles.output = 数据或者变量名;即可。
(2)返回值有多个以上的情况
基本以上面相同,
function gui_1_OpeningFcn(hObject, eventdata, handles, varargin)
下面任意一个地方输入
handles.output = 数据1或者变量名1;
handles.secend_output = 数据2或者变量名2;
handles.thrid_output = 数据3或者变量名3;
...........................
同时在
在gui_1中OutputFcn输入以下语句
function varargout = gui_1_OutputFcn(hObject, eventdata, handles)
varargout = handles.output;
varargout = handles.secend_output;
varargout = handles.thrid_output;
........................
依次类推,在同一个gui中的参数传递采用上述的设置为全局变量调用即可。
同时对返回值为多参数的情明亏况gui_2中则要输入语句改为
在gui_2中的buttonCallback下输入
..................
function pushbutton1_Callback(hObject, eventdata, handles)
[data1,data2,data3,....]=gui_1;
.................
则gui_1的结果就传递到[data1,data2,data3,....]=中,分银租别对这些返回值进行操作即可。
按照以上的做法,可能很复杂,可是对于初学者一看就明白,我也是刚刚才开始学习,不知对你有帮助没。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询