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

Matlab m文件中的函数和变量范围,matlab,Matlab,我有一个m文件。m文件包含一个相当大的函数,我希望将其分解为较小的可管理函数 我试图将代码分解为具有逻辑意义的较小函数。但是,有些变量需要传递给每个函数。我想知道是否应该将这些变量设置为全局变量?如果是这样的话,我说我需要做以下工作是正确的吗 1) 在我的m文件的主函数中将我的变量声明为全局变量 function my_main_function global myvar end 2) 在同一个m文件的子函数中将我的变量声明为全局变量 function my

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

我试图将代码分解为具有逻辑意义的较小函数。但是,有些变量需要传递给每个函数。我想知道是否应该将这些变量设置为全局变量?如果是这样的话,我说我需要做以下工作是正确的吗

1) 在我的m文件的主函数中将我的变量声明为全局变量

  function my_main_function 

         global myvar

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

  function my_sub_function

       global myvar

  end

你能不能在m文件中将变量一次性定义为全局变量?否则会有点痛吗?或者有更好的共享变量的方法吗?

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

根据我的经验,Matlab编写的软件用全局变量编写了一个又一个函数,生成了意大利面代码


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

您可以考虑在某些情况下使用嵌套函数,其中该辅助函数的唯一目的是帮助其父函数。然后,通过查看此结构,任何读者都会非常清楚该helper函数的用途(而不是在一个m文件中使用许多非嵌套函数)。更多阅读:特别是我必须同意你关于Matlab函数的说法。我现在不喜欢使用MATLAB,因为很难编写出像样的代码。遗憾的是,我需要在接下来的两天内完成这项任务。之后我将学习如何在MATLAB中使用OO。