matlab中的静态变量与全局变量

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

1.静态变量

在matlab中,和其他语言一样,函数中的变量一把都是局部变量,也就是说,在函数调用完毕后,变量就会被释放。但是有些时候回希望上次改变的变量在下一次调用时也能发挥作用。这时候就要永达静态变量。
关键字:
persistent
用例:

function rndNum = rnd(x)
%produce random numbers
persistent x;
if isempty(x)
    x=0.5;
end
a = 17;
b = 139;
c = 256;
x = mod(a*x+b);

rndNum=x/c;

注意:
上面对x的初始化,我们不能直接用persistent x = 0.5; 而应该要先判断x是否已经赋值,然后在初始化。

2.全局变量

有些时候,希望一些变量能够在函数之间或者在脚本文件与函数之间共享,那么就需要用到全局变量。
关键字:
global
用例:

function y = fun1()
global x;
x=133;
y=3*x;
function y = fun2()
global x;
y=3/x;
posted @ 2019-08-22 14:50  裏表異体  阅读(840)  评论(0编辑  收藏  举报