Concetti Chiave

  • Le variabili in Octave possono avere nomi lunghi fino a 30 caratteri e possono includere lettere, numeri e barre, ma alcuni nomi con underscore sono riservati.
  • Octave permette di dichiarare variabili globali con il comando "global", consentendo l'uso di variabili senza parametri formali all'interno delle funzioni.
  • Le variabili globali mantengono il loro valore se dichiarate una sola volta, mentre le variabili locali sono copie e non modificano il valore globale originale.
  • Le variabili persistenti, dichiarate con "persistent", sono locali a una funzione e non visibili al di fuori, mantenendo il valore dell'ultima assegnazione solo all'interno della funzione stessa.
  • La funzione "isglobal(name)" verifica se una variabile è visibile globalmente, restituendo 1 se lo è e 0 in caso contrario.

Le variabili permettono di dare un nome ai valori e richiamarli dopo. Il nome di una variabile può essere una sequenza di lettere, di numeri o barre. Octave non dà  un limite alla lunghezza dei nomi delle variabili, ma di solito non è utile avere variabili con nomi lunghi più di 30 caratteri.

Nomi e simboli speciali

Esempi di nomi di variabili validi sono: x, x15, _foo_bar_baz,”¦. Tuttavia nomi come foobarbaz che cominciano e terminano con l'undersore (_) possono essere intesi come riservati all'uso interno di Octave. NB: in Octave i simboli a e A sono variabili distinte. Il nome di una variabile è un'espressione valida da sé e rappresenta il valore corrente della variabile. Ci sono poi variabili che hanno un significato a sé nel programma. Per esempio: ans tiene la directory di lavoro corrente pi indica il raggio di un cerchio Alcuni di questi simboli inseriti in Octave sono costanti e non possono essere modificati. Gli altri possono essere usati e assegnati come tutte le altre variabili ma i loro valori sono anche usati e modificati automaticamente da Octave. Le variabili di octave non sono fisse, quindi è possibile prima memorizzare un valore numerico in una variabile e dopo usare lo stesso nome per mettere il valore nella stringa nello stesso programma. Le variabili non possono essere usate prima che gli sia stato assegnato un valore se no dà  errore.

Variabili globali

Esempio di variabile reimpostata: >>isvarname(nome) #dà  vero se nome è un nome di variabile valido - Variabili globali Una variabile dichiarata globale può essere utilizzata all'interno del corpo di una funzione senza doverla dichiarare come un parametro formale. Una variabile può essere dichiarata globale usando l'appellativo global. Esempio: >>global a >>global ab >>global c=2 Una variabile globale può essere introdotta una sola volta in una frase globale. Per esempio, dopo aver inserito il seguente codice: >>global gvar=1 >>global gvar=2 Il valore della variabile globale gvar è 1 non 2. Il comando clear gvar non cancella questo comportamento, mentre clear all lo fa. E'necessario dichiarare una variabile come globale dentro il corpo di una funzione per utilizzarla. Per esempio: >>global x >>function f() >> x=1 >>endfunction >> f() Non pone il valore della variabile globale x uguale a 1. Per cambiare il valore della variabile globale x bisogna dichiarare che è globale anche nel corpo della funzione: >>function f() >>global x >> x=1 >>endfunction Passando una variabile globale in una lista di parametri di una funzione, Octave metterà  una copia locale della variabile e non modificherà  il valore globale. Per esempio: >>function f(x) >> x=0 >>endfunction E la definizione di x come variabile globale dall'inizio: >>global x=13 L'espressione >>f(x) porrà  il valore di x dentro la funzione uguale a 0, ma il valore di x all'inizio rimane invariato perchè la funzione lavora con una copia del suo argomento. - Funzione preimpostata: isglobal(name) Questa funzione dà  1 se name globalmente visibile se no dà  0. Per esempio: >>global x >>isglobal(“x”?

Persistenza delle variabili

) >> >=1 Variabili persistenti La differenza tra variabili persistenti e variabili globali è chele variabili persistenti sono locali, finalizzate ad una particolare funzione e non sono visibili al di fuori di essa. Una variabile può essere dichiarata persistente usando persistent. Esempio: >>persistent a >>persistent ab >>persistent c=2 Il comando static usato in C è equivalente a persistent. Al contrario delle variabili globali ad ogni inizio di frase sarà  reimpostata la variabile. Per esempio dopo aver eseguito il seguente codice: >>persistent pvar=1 >>persistent pvar=2 Il valore della variabile persistente pvar sarà  2.

Domande da interrogazione

  1. Qual è la funzione principale delle variabili in Octave?
  2. Le variabili in Octave permettono di dare un nome ai valori e richiamarli successivamente, senza limiti di lunghezza, anche se è consigliabile non superare i 30 caratteri.

  3. Quali sono le restrizioni sui nomi delle variabili in Octave?
  4. I nomi delle variabili non possono iniziare e terminare con un underscore (_) poiché potrebbero essere riservati all'uso interno di Octave, e le lettere maiuscole e minuscole sono considerate distinte.

  5. Come si dichiarano le variabili globali in Octave?
  6. Le variabili globali si dichiarano utilizzando l'appellativo "global", e possono essere utilizzate all'interno delle funzioni senza doverle dichiarare come parametri formali.

  7. Qual è la differenza tra variabili globali e variabili persistenti?
  8. Le variabili globali sono visibili in tutto il programma, mentre le variabili persistenti sono locali a una funzione specifica e non visibili al di fuori di essa, mantenendo il loro valore tra le chiamate della funzione.

  9. Cosa succede se si tenta di modificare una variabile globale all'interno di una funzione senza dichiararla come globale?
  10. Se si tenta di modificare una variabile globale senza dichiararla come tale all'interno della funzione, si lavorerà su una copia locale della variabile, lasciando invariato il valore globale.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community