Main Content

global

Dichiarare le variabili come globali

Descrizione

esempio

global var1 ... varN dichiara le variabili var1 ... varN come globali nel loro ambito.

Normalmente, ciascuna funzione di MATLAB® ha le proprie variabili locali, separate da quelle delle altre funzioni e da quelle del workspace di base. Tuttavia, se diverse funzioni dichiarano tutte un particolare nome di variabile come global, allora tutte condivideranno una singola copia di quella variabile. Qualsiasi modifica del valore di tale variabile, in qualsiasi funzione, è visibile a tutte le funzioni che la dichiarano come globale.

Se la variabile globale non esiste alla prima emissione della dichiarazione global, viene inizializzata a una matrice vuota 0x0.

Se nel workspace corrente esiste già una variabile con lo stesso nome della variabile globale, MATLAB genera un avviso e modifica il valore di tale variabile e del suo ambito in modo che corrispondano alla variabile globale.

Esempi

comprimi tutto

Creare una funzione nella cartella di lavoro corrente che imposti il valore di una variabile globale.

function setGlobalx(val)
global x
x = val;

Creare una funzione nella cartella di lavoro corrente che restituisca il valore di una variabile globale. Queste due funzioni hanno un workspace di funzione separato, ma entrambe possono accedere alla variabile globale.

function r = getGlobalx
global x
r = x;

Impostare il valore della variabile globale x e ottenerlo da un altro workspace.

setGlobalx(1138)
r = getGlobalx
r =

        1138

Assegnare un valore alla variabile globale utilizzando la funzione definita nell'esempio precedente.

clear all
setGlobalx(42)

Visualizzare il valore della variabile globale x. Sebbene la variabile sia globale, non è accessibile dalla riga di comando.

x
Undefined function or variable 'x'.

Dichiarare x come variabile globale dalla riga di comando e visualizzarne il valore.

global x
x
x =

    42

Modificare il valore di x e utilizzare la funzione definita nell'esempio precedente per restituire il valore globale da un diverso workspace.

x = 1701;
r = getGlobalx
r =

        1701

Suggerimenti

  • Per cancellare una variabile globale da tutti i workspace, utilizzare clear global variable.

  • Per cancellare una variabile globale dal workspace corrente ma non dagli altri, utilizzare clear variable.

Cronologia versioni

Introduzione prima di R2006a