Concetti Chiave
- Octave allows decimal numbers to be expressed in various notations, including scientific notation and complex numbers without spaces between the number and the imaginary unit 'i'.
- Matrix dimensions in Octave are automatically determined; care must be taken with data input as certain expressions can be misinterpreted, such as using a hyphen for subtraction or as part of a vector.
- Ranges in Octave are defined by a start value, an optional increment, and an end value, separated by colons, allowing for flexible range creation.
- Logical values in Octave include true and false, with logical operators like conjunction, disjunction, and negation, which can be converted using the logical function.
- Strings in Octave are enclosed in either double or single quotes, though double quotes are recommended, and they can be concatenated using matrix notation.
Dati numerici
All'interno del linguaggio Octave un numero decimale può essere espresso attraverso diverse notazioni.
Esempi:
>>105
>>1.05 e+2
>>1050 e-1
Per i numeri complessi l'espressione è:
>>3+4i
>>3.0+4.0e-1i
L'unità immaginaria i va scritta senza lasciare spazi fra il numero e la i.
La funzione >>double(x) converte x in un tipo a doppia precisione
La funzione >>single(val) converte il valore numerico val in un tipo a singola precisione
La funzione >>complex(val) e >>complex(re,im) trasformano un valore reale in numero complesso.
-
Matrici
Nel linguaggio Octave la dimensione della matrice è determinata automaticamente quindi non è necessario esplicitarla. Inserendo per esempio una matrice:
a=[12
34]
L'espressione
>>[a,a]
Produce la matrice:
ans
>>[1212
3434]
Bisogna stare attenti al modo in cui vengono inseriti i dati nelle matrici in quanto, per esempio, l'espressione:
[1-1]
Viene vista come differenza dando come risultato 0, mentre:
[1 -1]
Viene interpretata come un vettore [1,-1].
Se i valori della matrice sono molto grandi o molto piccoli attraverso la funzione
>>fixed_point_format
Possono essere visualizzati in un formato fisso. Questa funzione, però, non è raccomandabile in quanto può produrre un risultato che potrebbe essere mal interpretato.
Matrici vuote
Una matrice potrebbe avere una o entrambe le dimensioni (righe e colonne) pari a 0; in questo caso nel programma Octave sarà visualizzato:
[ ]
La funzione
>>val=print_empty_dimensions()
Controlla appunto tale comportamento.
Per esempio l'espressione
Zeros (3,0)
Stamperà
>>ans=[ ] (3*0)
La matrice vuota potrebbe essere anche un modo conveniente per cancellare righe o colonne di matrici.
Range
L'espressione Range è definita dal valore del primo elemento nel range, dal valore dell'incremento tra gli elementi (se omesso è assunto pari a 1) e il massimo valore che gli elementi del range non eccederanno. Questi tre valori sono separati da colonne (il carattere :?).
Esempio:
>>1:5 (incremento omesso)
>>ans [1,2,3,4,5,]
Esempio:
>>1:3:5
>>ans [1,4]
-
Valori logici
Il linguaggio di programmazione Octave permette di utilizzare valori logici come true o false il cui risultato sarà un valore logico che dipenderà dalla comparazione.
Altri operatori logici sono:
&= congiunzione logica
|= or
!= negazione logica
La funzione
>>logical (arg)
converte l'argomento in un valore logico.
-
Stringhe
Una stringa è una sequenza di caratteri compresi tra le doppie virgolette o le singole virgolette e può essere di qualsiasi lunghezza. Poiché le virgolette singole possono essere utilizzate per altri scopi in Octave, per denotare le stringhe è meglio utilizzare le doppie virgolette.
Le stringhe potrebbero essere concatenate utilizzando la notazione per definire le matrici.
Esempio:
>>[foo?,?bar?,?baz?]
>>ans foobarbaz?
E' possibile creare una stringa anche senza inserire il testo, infatti la funzione
>> Blanks (n)
Crea una stringa di lunghezza n fatta solo di caratteri vuoti.
Mentre la funzione
>> Deblanks(s)
Rimuove gli spazi nulli dal vettore s.
-
Inserire i commenti
Il commento è un testo che compare nel programma per spiegare cosa fa e come lavora per una maggiore comprensione del lettore.
Nel linguaggio Octave il commento è preceduto dal carattere #? o dal simbolo %? e continua fino alla fine della linea.
Esempio:
# descrizione variabile utilizzata
-
Traduzione, sintesi e adattamento di http://www.gnu.org/software/octave/doc/interpreter/ (consultato il 06.03.2008)
Domande da interrogazione
- Quali sono le diverse notazioni per esprimere numeri decimali in Octave?
- Come si rappresentano i numeri complessi in Octave?
- Come si gestiscono le matrici in Octave?
- Qual è la funzione del formato a punto fisso in Octave?
- Come si definiscono i range in Octave?
In Octave, un numero decimale può essere espresso in diverse notazioni, come 105, 1.05e+2, e 1050e-1.
I numeri complessi in Octave si esprimono come 3+4i o 3.0+4.0e-1i, senza spazi tra il numero e l'unità immaginaria i.
In Octave, la dimensione della matrice è determinata automaticamente. Ad esempio, inserendo a=[12 34], l'espressione [a,a] produce la matrice [1212 3434].
La funzione fixed_point_format visualizza i valori delle matrici in un formato fisso, ma non è raccomandabile poiché può produrre risultati mal interpretati.
Un range in Octave è definito dal valore iniziale, dall'incremento (se omesso è 1), e dal valore massimo che non deve essere superato, separati da due punti. Ad esempio, 1:5 produce [1,2,3,4,5].