Matlab中的静态变量和全局变量

Posted 岳飞传

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab中的静态变量和全局变量相关的知识,希望对你有一定的参考价值。

1、静态变量(persistent)

在函数中声明的变量,当函数调用完之后就会释放。如果想保留这个变量的值(供该函数下一次调用),可以把这个变量声明为静态变量。静态变量不能在声明的时候赋值,而且只能在function里声明,且只有这个function才能认识它(main函数也不行)。x声明后是[],就是一个空的array。声明后需初始化,注意不能直接用persistent x=2;而是用isempty(x)判断x是否已经赋值。如:

function y=test()
persistent x;
if isempty(x)
   x=0;
end

2、全局变量(global)

如果想让某个函数中定义的变量能够被其他函数调用,需要用到全局变量。注意,在这两个函数中都要用global修饰这个变量。如:

function t1
global x;
x=0;

function t2
global x;
y=x
end

参考:http://yunniyu.blog.163.com/blog/static/22208431201261665217676/

以上是关于Matlab中的静态变量和全局变量的主要内容,如果未能解决你的问题,请参考以下文章

matlab persistent啥意思

matlab局部变量和全局变量的区别

java中的全局变量和静态变量是在编译时分配内存还是在加载时分配内存??

全局变量和局部变量

C++中的全局变量普通局部变量和静态局部变量的区别

在C#中静态变量是否全局变量