matlab 使用全域性變數

2021-07-30 21:00:28 字數 867 閱讀 1917

全域性變數(global variable)是變數的一種型別,區別於區域性變數。若將乙個變數宣告為全域性變數,則它所佔的記憶體為全域性記憶體,而不是本地工作區記憶體。因此全域性變數就可以被所有工作區訪問,修改。

在函式間共用全域性變數

定義兩個函式檔案,setglobalx和getglobalx

**

%設定全域性變數的值

function setglobalx(var)

global x

x=var;

end

%獲取全域性變數的值

function r=getglobalx

global x

r=x;

end

%使用全域性變數來進行計算

function useglobax

global x

r=sprintf('使用全域性變數x=%f來進行計算',x); %實際問題中,這裡為包含x的計算表示式

disp(r);

end

輸出結果
>> setglobalx(22)

>> r=getglobalx

r = 22

>> useglobax

使用全域性變數x=22.000000來進行計算

在函式與命令行間公用全域性變數

同理,要在命令列中訪問全域性變數。只需宣告一下即可:

global x**

同上例輸出結果

>> x

未定義函式或變數 'x'。

>> global x

>> x

x = 22

Matlab之全域性變數

通過全域性變數可以實現matlab工作空間變數空間和多個函式的函式空間的共享,這樣,多個使用全域性變數的函式和matlab工作空間共同維護這一全域性變數,任何一處對全域性變數的修改,都會直接改變此全域性變數的取值。在應用全域性變數事,通常在各個函式內部通過global variable語句宣告,在命...

static全域性變數 全域性變數

1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...

全域性變數的使用

什麼是全域性變數呢?我們知道,全域性變數是這樣的變數,他們能夠在這個程式中的任何位置都被使用,也就是說,不管是main函式中,還是我們自己寫出來的函式中,都可以無條件的使用他們,雖然這對於我們看來很是方便,但是他隱含的卻違背了結構化的程式設計思想,所以在我們程式化的設計過程中,應該少用全域性變數。在...