我的函数中没有任何MATLAB变量出现在我的工作区中?我不希望它们是输出变量

时间:2015-12-01 11:47:38

标签: matlab variables workspace

enter image description here

为什么我的工作区中没有出现filter_img的任何变量?这对我的调试非常有帮助。

我还需要澄清这些变量曾经出现在我的工作区而不是输出的事实。

4 个答案:

答案 0 :(得分:2)

如果要在工作区中查看它们,请使用脚本而不是函数,或将所有必需参数作为函数输出返回。 See base and function workspaces。还有其他方法可以在工作空间之间共享变量,例如持久变量,全局变量,或者可能寻找evalin命令。

答案 1 :(得分:1)

它们处于一个函数中,因此它们只在函数执行时才在您的工作区中。完成后,它们将不再位于您的工作区中。

要查看它们,您可以在函数中的某处键入keyboard,然后使用matlab调试器逐步执行您的函数,在命令窗口中检查变量的值。

答案 2 :(得分:1)

如果我理解你的问题:

为了在Matlab中查看函数的变量,您必须在要查看的变量之后设置断点并运行代码。

如果您只是像这样运行它,它将直接运行(或崩溃),而不会将变量保存在工作区中。

它在我看来

- >> filter_img

- >>

表示您已经运行但没有任何断点。它们在编辑器窗口中的行号旁边是红色的。

我希望这会有所帮助。

答案 3 :(得分:1)

在matlab函数中,在该函数中创建的所有变量都是本地变量,除非它们是输出,否则在函数完成时将被删除。

要查看变量要么使您的函数成为脚本,要么删除函数行,要么在函数中的某处添加断点(在运行之前单击行号旁边。

一般来说,由于这个原因,在matlab中没有输入或输出的功能有点没用,所以你应该改变它。