Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 创建包含参数的独立文件_Matlab_Variables_Global Variables - Fatal编程技术网

Matlab 创建包含参数的独立文件

Matlab 创建包含参数的独立文件,matlab,variables,global-variables,Matlab,Variables,Global Variables,我是Matlab世界的新手,我正试图用这个强大的软件创建我的第一个仿真。我会把我的应用程序的所有参数放在一个唯一的m文件中。我在某个地方读到,我必须将所有变量初始化为全局变量,以便它们可以在任何地方使用,但在那之后,这些变量将自动在位于同一个参数文件文件夹中的所有其他我的m文件中可用,简单地调用它们?如果您想要共享否则会超出函数范围的变量,您可以这样声明一个函数 function globalFun global var1 var2 var1 = 5; var2 = 6; 。然后从这样的脚本

我是Matlab世界的新手,我正试图用这个强大的软件创建我的第一个仿真。我会把我的应用程序的所有参数放在一个唯一的m文件中。我在某个地方读到,我必须将所有变量初始化为全局变量,以便它们可以在任何地方使用,但在那之后,这些变量将自动在位于同一个参数文件文件夹中的所有其他我的m文件中可用,简单地调用它们?

如果您想要共享否则会超出函数范围的变量,您可以这样声明一个函数

function globalFun
global var1 var2
var1 = 5; 
var2 = 6;
。然后从这样的脚本中调用它

global var1 var2
var1 = 0; 
var2 = 0;
globalFun
您将看到这些值在工作区中被更新,即使函数不返回任何输出

然而,在这样做的过程中,您打开了调试地狱的潜力!如果需要在函数之间传递大量变量,而不想用大量参数列表编写函数,则应考虑使用结构。将
gloabalFun
替换为

function s = structFun(s)    
s.var1 = 5; 
s.var2 = 6;
然后就这么说吧

s.var1 = 0; 
s.var2 = 0;
s = structFun(s);

通过这种方式,您可以一眼就看到哪些函数正在修改哪些内容。

如果您想共享否则会超出函数范围的变量,您可以这样声明函数

function globalFun
global var1 var2
var1 = 5; 
var2 = 6;
。然后从这样的脚本中调用它

global var1 var2
var1 = 0; 
var2 = 0;
globalFun
您将看到这些值在工作区中被更新,即使函数不返回任何输出

然而,在这样做的过程中,您打开了调试地狱的潜力!如果需要在函数之间传递大量变量,而不想用大量参数列表编写函数,则应考虑使用结构。将
gloabalFun
替换为

function s = structFun(s)    
s.var1 = 5; 
s.var2 = 6;
然后就这么说吧

s.var1 = 0; 
s.var2 = 0;
s = structFun(s);
通过这种方式,您可以一目了然地看到哪些函数正在修改哪些