Matlab GUI:高效的全局变量Vs处理

时间:2014-09-03 08:27:28

标签: matlab global-variables matlab-guide processing-efficiency handles

通过全局变量在函数之间传递数据比在Matlab GUI中处理结构更有效吗?

谢谢, 迈里克

3 个答案:

答案 0 :(得分:1)

为了补充Pariah和Lucius的答案,如果您打算将GUI部署为独立应用程序,您可能会发现使用全局/持久变量是个坏主意。

当然,您可以使用一些变通方法,但正如Pariah所提到的,尽管它们极大地简化了代码开发,但最好限制使用全局变量。

答案 1 :(得分:0)

主要取决于你想做什么。

我的意思是通常我会为原型设计做全局变量,(出于安全性和性能原因,将所有变量设置为全局变量的做法很糟糕。)

但是当通过处理程序传递变量时,这是一个很好的做法,你真的应该进入,因为它不仅可以让你更好地了解你传递的数据,而且会强迫你进行良好的编码实践,以帮助调试和未来你可以扩展当前工作的工作。

(这是一个建议,但如果你设置全局变量,它可以在调试代码时创建噩梦)。

答案 2 :(得分:0)

取决于您的数据有多大,您可以看到速度方面的差异。

主要原因是(纠正我,如果我错了):

  • handles-struct始终是副本(按值调用) - >大数据 - >低速;此外,还必须重新分配变更;全局变量通过引用
  • 调用

但是,当然,维护具有许多全局变量的代码会变得更加复杂。如果有人有时间:创建一个简单的性能测试,将两种变体与传递的不同大小的数据进行比较:)