我在 MATLAB 中运行一个 GUI 系统,我是使用 GUI 的初学者。
代码很长,所以我将把我有的东西放在什么地方,看看它是否有足够的信息来提供帮助,谢谢。
在我的第一个 GUi 中,我在打开函数中有这个:
HW12_result_bhanford(handles.scan_age, handles.check_athlete, handles.radio_male, handles.radio_female)
这应该是将这四个变量转移到我的第三个 GUI 上,名为 HW12_result_bhanford
在我的第二个 GUI 中,我在打开函数中写了这个:
age = varargin{1}
athlete = varargin{2}
male = varargin{3}
female = varargin{4}
然后,我稍后在第二个GUI中使用这四个变量(年龄,运动员,男性,女性),然后我 假设它们是从第一个传递的相应变量的等效值 图形用户界面。 当我运行所有内容时,返回的错误是索引超过矩阵维度。
如果有人能帮助我,那就太棒了。如果您没有完整的代码就无法提供帮助,我理解。
如果你的参数列表是可变的,并且varargin必须在你的函数定义中,你可以使用varargin
。
function HW12_result_bhanford(varargin)
在这种情况下,函数接收一个单元格数组作为输入,因此您可以使用varargin{1}
等获取单个参数。
如果将参数作为一个结构放在一起,则可以将此结构作为参数传递。
function HW12_result_bhanford(handles)
但是,如果函数定义具有单独的参数,例如,
function HW12_result_bhanford(age, athlete, male, female)
你不能使用varargin
,只能按原样处理参数。
阅读更多关于如何使用瓦拉金的信息。