我的函数中的 None 个 MATLAB 变量出现在我的工作区中?我不希望它们成为输出变量

None of my MATLAB variables from my function are appearing in my workspace? I don't want them to be output variables

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

我还需要澄清一个事实,即这些变量曾经出现在我的工作区中,但没有被输出。

它们在函数中,因此它们仅在函数执行时出现在您的工作区中。完成后,它们将不再出现在您的工作区中。

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

如果我正确理解你的问题:

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

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

我觉得

->> filter_img

->>

表明您已经 运行 它但没有任何断点。它们在编辑器中的行号旁边显示为红色 window.

希望对您有所帮助。

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

要查看变量,可以通过删除函数行使您的函数成为脚本,也可以在函数中的某处添加断点(通过单击 运行.

之前行号旁边的

通常,由于这个原因,在 matlab 中使用没有输入或输出的函数有点毫无意义,因此您应该改变它。

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