Utente:Sephi/sandbox
Template:Software2 Octave è un software libero per il calcolo numerico, e il suo linguaggio di scripting è parzialmente compatibile con MATLAB. E' un programma mantenuto e sviluppato dal progetto GNU.
Storia[modifica | modifica wikitesto]
Il progetto fu concepito nel 1988 presso l'università del Texas come strumento di calcolo per l'ingegneria chimica.. Il suo sviluppo vero e proprio parti da John W. Eaton nel 1992. La prima alpha rilasciata è datata 4 Gennaio 1993 e il 17 Febbraio 1994 fu rilasciata la versione 1.0.
Dettagli tecnici[modifica | modifica wikitesto]
- Octave è scritto in C++ usando le librerie STL.
- Octave utilizza un interprete che interpreta il suo linguaggio di scripting.
- Octave è estendibile attraverso moduli o funzioni scritte dall'utente che possono essere caricati dinamicamente.
- Octave puo' lavorare assieme a gnuplot e Grace per disegnare funzioni, grafici, tabelle, e consentendo di salvarli o stamparli .
Octave, il linguaggio[modifica | modifica wikitesto]
Il linguaggio di scripting di Octave supporta svariate librerie del C, e supporta diverse system calls e funzioni UNIX.
I programmi scritti con Octave sono degli script o liste di chiamate a funzioni. Il linguaggio dispone di diversi tipi di dati, oltre quello numerico esistono anche un tipo logico (true, false), uno di tipo stringa e strutture dati analoghe alle struct del linguaggio C. Esiste anche un altro tipo di dato molto potente ed è la matrice che consente molte operazioni di tipo matriciale. Il linguaggio di Octave non e' un linguaggio orientato agli oggetti ma supporta le strutture dati, inolte mette a disposizione varie strutture per il controllo del flusso, come i testi logici if-else e switch ed i cicli while e do-until
La sintassi è molto simile a quella di MATLAB, ed e' possibile scrivere script che girano sia sotto Octave che su MATLAB.
Octave è rilasciato sotto licenza GPL, e quindi può essere liberamente copiato e usato. Il programma gira sotto sistemi Unix e Linux.
Caratteristiche Principali[modifica | modifica wikitesto]
- Autocompletamento di comandi e variabili
Premendo il tasto TAB Octave cerca di completare i nome di nomi di files, variabili e funzioni, in base alla porzione iniziale di testo del comando da completare. scritto prima del cursore. Octave uses the text before the cursor as the initial portion of the name to complete.
- Storico comando
Octave salva i comandi digitati in un buffer interno, in modo che questi possano essere richiamati velocemente ed editati.
- Strutture dati
Octave include la possibilita' di assegnare a delle variabili valori come come numeri, matrici o stringhe. Per esempio:
octave:1> x.a = 1; x.b = [1, 2; 3, 4]; x.c = "stringa"; octave:2> x.a x.a = 1 octave:3> x.b x.b = 1 2 3 4 octave:4> x.c x.c = stringa
- Espressioni Range
Le espressioni range possono venire usate per definire vettori riga ossia matrici formate da una sola riga e piu' colonne, le cui componenti sono ordinate progressivamente. Per esempio:
octave:5> a = 1:10 a = 1 2 3 4 5 6 7 8 9 10
Questo tipo di espressione puo' essere utile usato ad un ciclo for, in modo che il ciclo si ripeta tante volte quanti sono gli elementi dell'espressione range che lo definisce.
- Operatori booleani Short-circuit
Octave's `&&' and `||' logical operators are evaluated in a short-circuit fashion (like the corresponding operators in the C language) and work differently than the element by element operators `&' and `|'.
- Operatori di incremento e decremento
Octave includes the C-like increment and decrement operators `++' and `--' in both their prefix and postfix forms.
Compatibilità con MATLAB[modifica | modifica wikitesto]
Octave has been mainly built with MATLAB compatibility in mind. It essentially shares a lot of features in common with MATLAB:
- Matrices as fundamental data type.
- Built-in support for complex numbers.
- Powerful built-in math functions and extensive function libraries.
- Extensibility in the form of user-defined functions.
Some of the differences that do exist between Octave and MATLAB can be worked around using "user preference variables."[1]
Vedi anche[modifica | modifica wikitesto]
For a list of programs similar to GNU Octave, see the list of numerical analysis software.
Collegamenti esterni[modifica | modifica wikitesto]
- Octave.org Home Page
- Octave Workshop: an Octave IDE
- Online documentation
- Octave-forge community development page
- Octave wiki (click twice—page redirects cause some browsers to time out)
- Online access to Octave - Allows you to perform simple Octave calculation online.
- Octave FAQ Wiki with new plotting commands