【发布时间】:2016-12-03 15:40:23
【问题描述】:
我的问题是,即使有一个名为“mu”的局部变量,当代码运行命令时
平方(亩)
Matlab 尝试运行名为 mu 的内部函数。
据我所知,这不是正常行为。如何让 Matlab 在其内部函数上使用局部变量?
我打算用部署工具编译这段代码,因此修改matlab的内部函数文件是不合适的。编译的版本会出现问题。
让我详细介绍一下这个问题,
我的 main.m 文件调用 function_a.m 函数。 Function_a 函数运行另一个名为 constants 的脚本。 Constants.m 文件不是一个函数,而是一个脚本,它只保留一些变量,所以当它加载时,它会用这些变量填充工作区。它的格式是,
const1=3; const2=5; mu=2;
在 function_a 运行 constant.m 之后,它尝试使用 mu 值。这是 matlab 从它的内部 mu 函数中给出错误的时候。这意味着 Matlab 不使用由 contants.m 创建的局部 mu 变量。
在运行 constant.m 之后,但在命令中使用 mu 之前,我使用调试器来停止代码。穆实际上应该在工作空间中。在调试模式下,如果我使用命令 sqrt(mu),它会正常工作。但是当我让继续运行时,当在函数文件中写入相同的命令时,Matlab 会给出错误,表明它正在尝试使用内部函数。
我该如何解决这个问题?
【问题讨论】: