Monthly Archives: October 2014

Cicli FOR in Matlab

MATLAB

Per implementare dei Cicli FOR in Matlab bisogna utiizzare l’istruzione for che ripete un gruppo di istruioni un numero fissato di volte . Il ciclo viene terminato dall’istruzione END. Il ciclo for è una struttura di controllo iterativa che determina l’esecuzione di una porzione di programma ripetuta per un certo numero noto di volte.

Vediamo un esempio:

for n = 3:32
   r(n) = rank(magic(n));
end
r

Il punto e virgola che termina l’istruzione sopprime la stampa ripetuta, e il termine r dopo il loop espone a video il risultato finale.

Cicli FOR in Matlab

E’ buona norma ordinare i loop al fine di una discreta leggibilità; per fare questo è necessario identare il testo come nell’esempio proposto:

for i = 1:m
  for j = 1:n
    H(i,j) = 1/(i+j);
  end
end

In tale esempio è stato implementato un ciclo for annidato, in cui vengono utilizzati due cicli for per eseguire un doppio ciclo su una varibile strutturata.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Struttura switch e case in Matlab

MATLAB

La struttura switch e case in Matlab ci consente di eseguire gruppi di istruzioni basati sul valore di un variabile o di un’espressione. La keywords case e otherwise delinea i gruppi. Solamente il primo caso è eseguito. Ci deve essere sempre una parola chiave end per lo statement switch .

La logica dell’algoritmo della matrice magic square può, ad esempio, essere descritta anche con il seguente codice Matlab:

switch (rem(n,4)==0) + (rem(n,2)==0)
  case 0
    M = odd_magic(n)
  case 1
    M = single_even_magic(n)
  case 2
    M = double_even_magic(n)
  otherwise
    error('This is impossible')
end

Diversamente dal linguaggio C, lo switch di MATLAB non commette errori. Se la prima istruzione del costrutto case risulta vera, il restante case statement non è eseguito. Così, non si rendono necessari break statement.

Vediamo ora un altro esempio in cui si visualizza un altro testo condizionale, in funzione di un valore immesso al prompt dei comandi.

n = input('Inserisci un numero: ');

switch n
    case -1
        disp('negativo')
    case 0
        disp('zero')
    case 1
        disp('positivo')
    otherwise
        disp('altro valore')
end

La struttura switch e case in Matlab

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Istruzione IF in Matlab

MATLAB

L’istruzione if in Matlab valuta un’espressione logica ed esegue un gruppo di asserzioni quando l’espressione risulta vera. L’else if opzionale e altre keywords provvedono per l’esecuzione di gruppi alternati di asserzioni. Una keyword END termina l’ultimo gruppo di asserzioni. I gruppi di asserzioni sono delineati da quattro keywords non sono previste parentesi.

L’algoritmo di MATLAB per generare una magic square di ordine n coinvolge tre casi diversi:

  1. quando n è dispari,
  2. quando n è pari ma non divisibile per 4,
  3. quando n è divisibile per

Questo è quanto riportato nel costrutto seguente:

if rem(n,2) ~= 0
   M = odd_magic(n)
elseif rem(n,4) ~= 0
   M = single_even_magic(n)
else
   M = double_even_magic(n)
end

In questo esempio, i tre casi sono mutuamente esclusivi, ma se non lo fossero, la prima condizione vera sarebbe comunque eseguita. Tutto ciò è importante per capire come gli operatori relazionali e le strutture if lavorano con le matrici.

Quando si vuole controllare l’uguaglianza tra due variabile, usare:

if A == B, ….

Questo è consentito in MATLAB, e fa quello che ci si aspetta quando A e B sono scalari. Ma quando A e B sono matrici, A == B non esamina se loro sono uguali, esamina solo dove loro sono uguali; il risultato è un altra matrice di 0 e di 1 che espone l’uguaglianza elemento per elemento.

Istruzione IF in Matlab

Infatti, se A e B non sono della stessa taglia, allora l’istruzione A == B è un errore. Il modo corretto per controllare l’uguaglianza tra due variabile è quello di usare la funzione isequal:

if isequal(A,B), …

Qui c’è un altro esempio per enfatizzare questo punto. Se A e B sono scalari, il programma seguente mai arriverà alla situazione inaspettata. Ma per la maggior parte delle matrici, includendo le nostre magic square con colonne scambiate nessuna delle condizioni seguenti A> B, A< B o A == B è vero per tutti gli elementi e così l’altra clausola è eseguita.

if A > B
   ‘greater’
elseif A < B
   ‘less’
elseif A == B
   ‘equal’
else
   error(‘Unexpected situation’)
end

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Il Comando DIARY in Matlab

MATLAB

Il comando diary in Matlab crea un’agenda della sessione di MATLAB in un file immagazzinato nel disco fisso del computer. E’ possibile esplorare e compilare il file di testo con un qualsiasi word-processor. Per creare un file diary che contenga tutti i comandi basterà digitare al prompt di Matlab:

>>diary

Per salvare l’intera sessione di MATLAB in un archivio con un particolare nome, utilizzeremo la seguente notazione:

>>diary filename

Per bloccare la registrazione della sessione corrente, invece digiteremo:

>>diary off

La funzione diary quindi crea un elenco degli input da tastiera e registra il testo risultante in un file, con alcune eccezioni. Il file ottenuto con il comando diary è un file ASCII, adatto per la ricerca in, la stampa, l’inserimento nella maggior parte delle relazioni e altri documenti. Se non si specifica il nome del file, il software MATLAB crea un file chiamato diary nella cartella corrente.

Il Comando DIARY in Matlab

Il comando diary (‘filename’) scrive una copia di tutti gli input da tastiera successivi al comando nel file chiamato appunto nomefile, dove nomefile è il percorso completo o il nome del file si trova nella cartella MATLAB corrente. Se il file esiste già, l’output viene aggiunto alla fine del file. Non è possibile utilizzare un nome di file chiamato o disattivarlo. Per visualizzare il nome del file diary corrente, utilizzare il comando:

>>get (0, ‘DiaryFile’)

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Il comando dir in Matlab

MATLABAnalizziamo il comando dir in Matlab che elenca i file e le cartelle presenti nella cartella corrente di MATLAB. I risultati vengono visualizzati in un ordine che dipende dal sistema operativo.

Il comando seguente:

> dir nome

elenca i file e le cartelle che corrispondono al nome fornito sottoforma di stringa. Quando il nome è una cartella, dir elenca il contenuto della cartella. Specificare il nome usando i nomi di percorso assoluti o relativi. È possibile utilizzare i caratteri jolly (*). Il comando:

lista = dir (nome)

restituisce gli attributi relativi a nome.

il comando dir in matlab

Vediamo alcuni esempi di applicazione del comando dir in Matlab, per visualizzare il contenuto della cartella matlab/audiovideo scriveremo, che si trova nella cartella corrente di Matlab:

dir(fullfile(matlabroot, ‘toolbox/matlab/acustica’))

Vediamo invece come ricercare delle informazioni ed ottenere i risultati in una forma strutturata: ad esempio se volessimo immagazzinare nella variabile files tutti i file contenuti in una specifica cartella con esetensione .m scriveremo

files = dir(fullfile(matlabroot, ‘toolbox/matlab/acustica/*.m’))

MATLAB fornisce le informazioni in un structure array del tipo:

files =
25×1 struct array with fields:
name
date
bytes
isdir
datenum

Per accedere ad uno specifico item invece scriveremo:

files(3).name
ans =
acustica.m

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Python Interactive Shell

python

Per avviare Python o più correttamente per aprire la Python Interactive Shell basterà cliccare sul menu Start per trovare l’icona della shell già pronta tra i programmi di uso frequente, oppure basterà cliccare su Tutti i programmi quindi sulla voce Active State Active Python 3.1.

Dopo aver attivato la Python Interactive Shell ci troveremo a disposizione una finestra nella quale sarà possibile digitare da linea di comando le nostre istruzioni python. Iniziamo a tal proposito con il classico messaggio che i programmatori usano inviare alla shell per testarne il regolare funzionamento; mi riferisco al più classico dei messaggi: “Hello World”.

Per poter visualizzare un messaggio dalla shell sarà necessario stamparlo, ed allora quale poteva essere il comando che ci permette di fare questo se non print (che tradotto in italiano vuol dire stampa), questo a conferma del fatto che leggere del codice Python equivale a leggere un comune listato in lingua inglese.

Allora per visualizzare sul prompt dei comandi il messaggio “Hello World” basterà digitare la seguente istruzione:

print(‘Hello World’) 

per ottenere la stampa del messaggio come riportato nella figura.

Python Interactive Shell

Fatto questo vediamo ora come ricevere un primo ed immediato aiuto proprio dalla shell interattiva di Python; infatti all’apertura della shell viene visualizzato il seguente messaggio:

ActivePython 3.1.2.3 (ActiveState Software Inc.) based on

Python 3.1.2 (r312:79147, Mar 22 2010, 12:30:45) [MSC v.1500 64 bit (AMD64)] on

win32

Type “help”, “copyright”, “credits” or “license” for more information.

>>> 

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Installare Python dal codice sorgente su Linux

python

Vediamo ora come installare Python dal codice sorgente su Linux e compilandolo sulla nostra macchina. Se non si dispone di un gestore di pacchetti, o piuttosto non se ne fa uso, è possibile compilare Python per ottenere una versione fatta da noi. Questa può essere una scelta obbligata ad esempio se ci si trova su una macchina UNIX, senza l’accesso come root.

Questo metodo è molto flessibile, e consente di installare Python ovunque si desideri, anche nella nostra home directory. Per compilare e installare Python, basterà seguire i seguenti passaggi:

  • visitare il sito al seguente url: http://www.python.org/download/;
  • seguire le istruzioni per scaricare i sorgenti;
  • scarica il file con estensione. Tgz. e salvare in una posizione temporanea. Ipotizzando che si desidera installare Python nella nostra home directory, si consiglia di metterlo in un directory con nome ~ / python;
  • spostarsi in questa directory (ad esempio, utilizzando il comando cd ~ / Python);
  • scompattare l’archivio con il comando tar -xzvf Python-3.1.2.tgz (dove 3.1.2 è il numero della versione del codice sorgente scaricato);
  • se la nostra versione di tar non supporta l’opzione z, è possibile decomprimere l’archivio con il comando gunzip prima, per poi utilizzare il comando tar -xvf. Se c’è qualcosa che non va con l’archivio, provare a scaricarlo di nuovo. A volte si verificano errori durante il download.
  • spostarsi nella directory in cui è stato spacchettato il sorgente con il comando $ Cd Python-3.1.2
  • a questo punto eseguire i seguenti comandi:

. / Configure – prefix = $ (pwd)

make

make install

la procedura di compilazione terminerà con la creazione di un file eseguibile denominato Python posizionato nella directory corrente. (Se si dovessero vericare degli errori in fase di compilazione  consultare il file README incluso nella distribuzione.)

Installare Python dal codice sorgente su Linux

  • ora basterà aggiungere la directory corrente nella variabile d’ambiente PATH, e si sarà pronti a partire.
  • per conoscere le altre direttive di configurazione, eseguire questo comando: . / Configure – help

Dopo aver visto come installare Python dal codice sorgente, per avviarlo basterà digitare al prompt di Linux il comando:

python

per entrare nella Linux interactive shell.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Come installare Python su Linux

python

Vediamo ora come installare Python su Linux, in verità nella maggior parte delle installazioni Linux, è già presente un interprete Python. È possibile verificare se questo è vero anche nel nostro caso, eseguendo il comando Python nel prompt di Linux:

$ python

L’esecuzione di questo comando dovrebbe avviare l’interprete interattivo di Python, con un output simile a quello di seguito riportato:

Python 2.4.3 (#2, Apr 27 2006, 14:43:58)

[GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>>

Da questo momento in poi potremo iniziare ad utilizzare Python in modalità interattiva; per uscire dall’interprete basterà digitare la combinazione di tasti ctrl + d.

Se al contrario l’interprete Python non è installato, probabilmente si otterrà un messaggio di errore simile al seguente:

bash: python: command not found

In questo caso dovremo procedere ad installare Python su Linux; anche se è difficile che nelle nuove versioni di Linux non sia presente una versione dell’interprete visto il massiccio uso che le applicazioni Linux fanno di Python.

python

Comunque nel caso non fosse presente sarà necessario installarlo; allora avremo a disposizione due possibilità:

  1. utilizzare un Package Manager;
  2. compilare il programma dai file sorgente.

Nel primo caso le cose sono estremamente semplici ed immediate, infatti basterà autenticarsi con i privilegi di amministratore ed utilizzare uno dei programmi a corredo di Linux per installare la versione più recenti di Python. Ad esempio su una distribuzione Debian basterà digitare:

$ apt-get install python

mentre su una distribuzione Gentoo Linux:

$ emerge python

ed infine su ubuntu:

$ sudo apt-get install python

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Come installare Python su Mac Os

python

Dopo aver proposto una Guida all’installazione di Python in ambiente Windows, in questa lezione vedremo nel dettaglio come installare Python su Mac Os, analizzando attentamente ogni passaggio in modo da eseguire l’intera procedura senza difficoltà e nel minor tempo possibile. In ambiente Mac le cose sono ancora più semplici, e questo è dovuto al fatto che nelle versioni recenti del Mac OS X, una versione di Python è già installata con il sistema operativo.

Per verificarlo e per avere informazioni sulla versione che è attualmente installata basta aprire l’applicazione Terminale (attraverso il seguente percorso: Finder è Applicazioni è Utility è Terminale) e digitare il comando Python -V.

Ad esempio se ci troviamo su Mac Os X versione 10.4.11 la finestra di terminale ci risponderà con qualcosa di simile:

Last login: Mon Jul 19 15:31:39 on ttyp1

Welcome to Darwin!

Mac-Giuseppe:~giuseppe$ Python -V

Python 2.3.5

A dimostrazione del fatto che la versione attualmente installata sul Mac in uso è la 2.3.5. Anche se si desidera installare una versione più recente di Python, è importante lasciare questa versione, questo perché Python è utilizzato in varie parti del sistema operativo e quindi la sua rimozione pregiudicherebbe il normale funzionamento della macchina.

python

Vediamo allora come aggiungere a questa una versione più recente; per farlo basterà visitare il sito al seguente url:

http://www.python.org/download/

e scaricare la versione più recente disponibile, facendo attenzione a selezionare la versione corretta per il nostro sistema operativo. Al momento di stesura di questo libro la versione più recente è:

Python 3.1.2 Mac OS X Installer Disk Image (for Mac OS X 10.3 through 10.6)

che rappresenta l’immagine del disco Python-OSX, fatto questo se il vostro browser non l’ha già fatto, cliccate due volte su MacPython-OSX-3.1.2.dmg per fare il mount dell’immagine del disco sul vostro desktop. Da questo momento in poi basterà seguire le indicazioni di seguito riportate:

  • Fate doppio click sul programma di installazione, Python.pkg.
  • Il programma di installazione vi richiederà il nome utente e la password dell’amministratore.
  • Seguite le istruzioni del programma di installazione.
  • Dopo che l’installazione è stata completata, chiudete il programma di installazione ed aprite la cartella Applicazioni.
  • Aprite la cartella Python 3.1.2.
  • Fate doppio click su IDLE per lanciare Python.

Ricordiamo infine che seguendo la procedura appena indicata, avremo aggiunto una versione più recente alla versione già a corredo del sistema operativo, ciò per ribadire che in questo modo saranno presenti due versioni.

Per avviare la versione più recente sarà necessario aprire la cartella Python 3.1.2 presente nella cartella Applicazioni e cliccare sull’icona della idle di Python, in questo modo potremo verificare che la guida su come installare Python su Mac Os sia stata utile.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Guida all’installazione di Python

python

In questa lezione forniremo una vera e propria guida all’installazione di Python utilizzando le risorse fornite dal sito ufficiale della distribuzione Python. Come sempre l’operazione preliminare da effettuare è quella di collegarsi al sito della distribuzione, nel nostro caso in corrispondenza del seguente url:

http://www.python.org/

Selezionare dal menu di navigazione la voce download e quindi scegliere la distribuzione tra quelle più recenti, come già accennato sceglieremo la versione 3.4.2, per la quale avremo una serie di distribuzioni in funzione della piattaforma adottata. Nel nostro caso sceglieremo l’installer di Windows e dopo aver cliccato sulla voce relativa, partirà il download, alla fine del quale avremo sul nostro hard disk il file.

python

Allora basterà cliccare due volte sul file per iniziare la procedura, attraverso la quale seguendo le istruzioni dell’installer, assisteremo all’installazione dell’interprete Python sul nostro computer. Nel caso non avessimo spazio sufficiente, potremmo deselezionare il file HTMLHelp, gli script di utilità (Tools/) e/o la raccolta di test (Lib/test/), ma anche in questo caso il consiglio è quello di installare tutto.

Se non si dispone dei diritti di amministratore sulla macchina, potete selezionare le opzioni avanzate (Advanced Options …) e selezionare l’installazione per non-amministratori (Non-Admin Install). Questo va ad influire solo sulla posizione delle chiavi nel registro e sulla creazione delle scorciatoie dei menu.

python

Una volta completata l’installazione, e dopo aver chiuso l’installer potremo avviare l’interprete Python attraverso il seguente percorso:

Start > Programs > Python 3.4 > IDLE (Python GUI)

Da questo momento potremo iniziare ad interagire con l’ambiente integrato appena installato. Spero che questa guida all’installazione di Python vi sia stata utile per iniziare a programmare in Python.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Guida alla console di Rails

Guida alla programmazione con Ruby

Dopo aver passato un pò di tempo a studiare le procedure di installazione del software passiamo a qualcosa di più interessante, quantomeno di più pratico. Verificheremo allora la corretta installazione del software proponendo una sorta di guida alla console di Rails.

Apriamo innanzitutto la console di Rails, cliccando sul bottone con la scritta I e seguendo il percorso  Rails Applications è Open Ruby Console Window, quindi iniziamo dall’interprete ruby digitando il seguente comando:

ruby –v

ottenendo qualcosa di simile:

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

ruby

Nel caso dovessero verificarsi degli errori provate a verificare se dopo aver installato il software vi siete ricordati di impostare correttamente le variabili d’ambiente.

L’interprete Ruby si occupa dell’esecuzione dei programmi, le sue principali opzioni, sono visualizzabili attraverso l’opzione -help.

ruby -help

il risultato è riportato nella Figura seguente.

ruby

Figura: Guida alla console di Rails

LINK DI APPROFONDIMENTO PER L’ARGOMENTO: