Utente:Sephi/sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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:

  1. Matrices as fundamental data type.
  2. Built-in support for complex numbers.
  3. Powerful built-in math functions and extensive function libraries.
  4. 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]

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero

For a list of programs similar to GNU Octave, see the list of numerical analysis software.

Collegamenti esterni[modifica | modifica wikitesto]

References[modifica | modifica wikitesto]