Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab,如何循环通过一系列按钮?_Matlab_Loops_Matlab Figure - Fatal编程技术网

Matlab,如何循环通过一系列按钮?

Matlab,如何循环通过一系列按钮?,matlab,loops,matlab-figure,Matlab,Loops,Matlab Figure,我的程序创建了5个按钮,我需要根据矩阵a中的值更改它们的颜色。因此我在main中定义了a,然后在main的末尾调用函数create_maze(a) 以下是创建迷宫(A): 不幸的是,我得到: Error using create_maze/pushbutton1_Callback (line 164) Not enough input arguments. 有人能帮我做这个环吗? 谢谢大家! 您需要考虑功能的范围 当函数完成执行时,将清除(删除)在函数中定义的任何未由其输出的变量 在图形对象的

我的程序创建了5个按钮,我需要根据矩阵a中的值更改它们的颜色。因此我在main中定义了a,然后在main的末尾调用函数create_maze(a)

以下是创建迷宫(A):

不幸的是,我得到:

Error using create_maze/pushbutton1_Callback (line 164)
Not enough input arguments.
有人能帮我做这个环吗?
谢谢大家!

您需要考虑功能的范围 当函数完成执行时,将清除(删除)在函数中定义的任何未由其输出的变量

在图形对象的情况下,按钮手柄的链接实际上仍然作为主图形窗口的子窗口存在,但如果您以某种方式从“create_maze”输出手柄,则会更加容易

定义线更安全

L=[h1,h2,h3,h4,h5]

在create_maze的末尾,不要试图巧妙地使用嵌套函数,这将给您带来有限的优势,并且可能会带来轻微的开销

有关嵌套函数中变量范围的更多信息,请访问mathworks网站,但为了安全起见,请确保所有函数都可以在不依赖其他已定义变量的情况下运行


也就是说,确保函数只需要它们的输入变量

您在
按钮1\u回调
中没有输出任何内容,因此
L
完全没有使用。试着设置
function[L]=pushbutton1\u回调(h0object,A)
谢谢,我试过了,但它说
未定义的函数或变量“h1”
嗯,这是一个明确的信息,不是吗?定义
h1
。我猜它来自于你的
h0object
,但是你需要明确地告诉MATLAB。谢谢,但是
h1
不是已经定义为GUI对象作为页面的顶部吗?不是在你的函数中。。。在这种情况下,将其传递给函数。
Error using create_maze/pushbutton1_Callback (line 164)
Not enough input arguments.