m文件中的函数和变量范围

时间:2014-11-05 07:57:19

标签: matlab

我有一个m文件。 m文件包含一个相当大的函数,我希望将其分解为我较小的可管理函数。

我试图将代码细分为具有逻辑意义的较小函数。但是,有些变量需要传递给每个函数。我想知道我是否应该将这些变量全局化?如果是这样,我说我需要做以下事情,

1)在m文件的main函数中将我的变量声明为global。

  function my_main_function 

         global myvar

  end

2)还在同一m文件的子函数中将我的变量声明为全局变量?

  function my_sub_function

       global myvar

  end

你能不能只在m文件中将变量定义为全局变量?看起来有点痛苦吗?或者有更好的方法来共享变量吗?

1 个答案:

答案 0 :(得分:1)

如果你想认真学习Matlab编程,你应该学习Matlab面向对象编程。

http://www.mathworks.fr/company/newsletters/articles/introduction-to-object-oriented-programming-in-matlab.html

根据我的经验,Matlab编写的函数在函数之后用全局变量编写函数导致意大利面条代码。

坐下来,花时间正确地完成工作,享受学习带来的好处!