我在MATLAB中运行GUI系统,我是一名使用GUI的初学者。
代码很长,所以我只想把我所拥有的东西放在哪里,看看它是否足以提供帮助,谢谢。
在我的第一个GUi中,我在开场功能中有这个:
HW12_result_bhanford(handles.scan_age, handles.check_athlete, handles.radio_male, handles.radio_female)
这应该是将这四个变量传递给我的第三个名为GUI的GUI HW12_result_bhanford
在我的第二个GUI中,我在开场函数中写了这个:
age = varargin{1}
athlete = varargin{2}
male = varargin{3}
female = varargin{4}
然后我在第二个GUI和I中使用这四个变量(年龄,运动员,男性,女性) 假设它们是从第一个传递的相应变量的等效值 GUI。 当我运行所有内容时,返回的错误是索引超出矩阵维度。
如果有人能帮助我,那就太棒了。如果没有我理解的完整代码你就无法帮助。
答案 0 :(得分:0)
如果您的参数列表是可变的,则使用varargin
,并且varargin必须在您的函数定义中。
function HW12_result_bhanford(varargin)
在这种情况下,函数接收一个单元格数组作为输入,因此您可以使用varargin{1}
等获取单个参数。
如果将参数作为结构放在一起,则可以将此结构作为参数传递。
function HW12_result_bhanford(handles)
但是,如果函数定义具有单独的参数,例如,
function HW12_result_bhanford(age, athlete, male, female)
你不能使用varargin
,只是按原样处理参数。
详细了解如何使用VARARGIN。