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

来源:互联网 发布:手机淘宝改中差评 编辑:程序博客网 时间:2024/06/16 15:59

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 t1global x;x=0;function t2global x;y=xend

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

0 0