为什么会发生此错误:索引超出矩阵维度



我在 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,只能按原样处理参数。

阅读更多关于如何使用瓦拉金的信息。

相关内容

  • 没有找到相关文章

最新更新