【发布时间】:2014-04-03 04:53:25
【问题描述】:
我在 MATLAB 中运行一个 GUI 系统,我是使用 GUI 的初学者。
代码很长,所以我将只输入我拥有的东西和位置,看看是否有足够的信息来提供帮助,谢谢。
在我的第一个 GUI 中,我在打开函数中有这个:
HW12_result_bhanford(handles.scan_age, handles.check_athlete, handles.radio_male, handles.radio_female)
这应该将这四个变量转移到我的第三个名为 HW12_result_bhanford
在我的第二个 GUI 中,我在打开函数中写了这个:
age = varargin{1}
athlete = varargin{2}
male = varargin{3}
female = varargin{4}
我稍后在第二个 GUI 中使用这四个变量(年龄、运动员、男性、女性),然后我 假设它们是从第一个传递的相应变量的等效值 图形用户界面。 当我运行所有内容时,返回的错误是索引超出矩阵维度。
如果有人可以帮助我,那就太好了。如果没有我理解的整个代码,您将无法提供帮助。
【问题讨论】:
-
Index exceeds matrix dimensions表示您在某些时候试图访问不存在的数据。错误消息应该告诉您代码中发生这种情况的位置,然后您可以自己去检查发生了什么。 mathworks.co.uk/help/matlab/debugging-code.html -
它说问题出在 age = varargin{1} 上,所以我不确定问题出在 varargin{1}、age 还是与以前 GUI 中的 age 对应的变量上。我猜如果没有其余代码,您将无法知道。
-
调试时,将
varargin打印到命令窗口以查看实际作为输入传递给 GUI 的内容。
标签: matlab user-interface