1. 程式人生 > >matlab全域性變數(global):夠被其他函式呼叫.在這兩個函式中都要用global修飾這個變數.

matlab全域性變數(global):夠被其他函式呼叫.在這兩個函式中都要用global修飾這個變數.

1.靜態變數(persistent):只有這個function才能認識它(main函式也不行).供該函式下一次呼叫.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