Category archives: Programmazione

 

 

0

Guida all’uso di MatLab: operazioni.

In MATLAB sono definite le seguenti operazioni aritmetiche:
1) addizione +
2) sottrazione -
3) moltiplicazione *
4) divisione /
5) elevamento a potenza ˆ

Quando l’espressione da valutare è troppo lunga per stare su di un’unica riga di comando,è possibile utilizzare un carattere di continuazione dato da . . . (tre punti). Ad esempio,
>> 1 + 1/4 + …
1/8 ans = 1.375
matlab Screenshot
E’ possibile verificare che poichè in MATLAB non vi è alcuna distinzione tra variabili intere, reali o complesse, il risultato dell’operazione di elevamento a potenza nel caso di esponenti frazionari può non corrispondere a quello naturalmente atteso. Ad esempio, volendo calcolare la radice cubica di -5, si ottiene:
>> (-9)^(1/5)
ans = 1.2555 + 0.9122i

e non un numero reale. Il problema è dovuto al fatto che MATLAB, lavorando in notazione complessa, calcola come prima radice cubica di -9 una delle due con parte immaginaria non nulla. Anche in MATLAB è possibile alterare le precedenze classiche delle operazioni aritmetiche mediante l’uso opportuno delle parentesi tonde. Ad esempio, se nel caso precedente si fosse scritto ( – 9) 1 /5 si sarebbe ottenuto il valore -l.8000 ossia, giustamente, – 9/5. Per quanto riguarda i vettori, le operazioni elementari si estendono (quando ben definite) in modo del tutto naturale, con l’eccezione delle operazioni di divisione e di elevamento a potenza. Ad esempio,
>> a = [1:4];
>> b = [1:3];
>> c = [3 2 6 -1] ;
>> a+c (somma di vettori riga)
ans =
4 4 9 3
>> a-c (differenza di vettori riga)
ans =
-2 O -3 5
>> a+b
??? Errar using ==> + Matrix dimension must agree.
>>a*c
??? Errar using ==> * Inner matrix dimension must agree.
Le ultime istruzioni ci indicano che, le operazioni fra vettori sono valide solo se le dimensioni sono consistenti. Infatti, dato un vettore riga s di dimensione n (ossia una matrice 1 * n) ed un vettore colonna d di dimensione m, si potrà eseguire il prodotto scalare s*d solo se m=n (ottenendo in tal caso uno scalare).
>> s=[1:4];
>> d=[1;2;3;4];
>> s*d
ans=
30
Quindi d*s fornirà una matrice m*n.
>> s=[1:4];
>> d=[1;2;3;4];
>> M=d*s
M=
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
5 10 15 20
matlab Screenshot 1 

Se ti è piaciuto l’articolo , iscriviti al feed cliccando sull’immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
reeder

 

0

Guida all’uso di MatLab: la funzione magic.

Pedici
L’elemento in riga i e colonna j di A è denotato con A(i,j). Per esempio:
A(4,2)

è il numero nella quarta riga e seconda colonna. Per la nostra magic square, A(4,2) è 15. Così è possibile calcolare la somma degli elementi nella quarta colonna di A digitando:
A(1,4) + A(2,4) + A(3,4) + A(4,4)

Questo produce:
ans = 34
ma non è il modo più elegante di sommare una singola colonna.

E anche possibile per assegnare gli elementi di una matrice utilizzare un singolo pedice, A(k). Questo è il modo solito di citare vettori riga e vettori colonna.

Ma si può anche applicare ad una matrice bidimensionale in questo caso la matrice è considerata come un vettore colonna, formato dalle colonne della matrice originale.
matlab ubuntu
Così, per la nostra magic square, A(8) è un altro modo di assegnare il valore 15 immagazzinato nella posizione A(4,2), cioè quarta riga seconda colonna. Se si tenta di usare il valore di un elemento della matrice al di fuori di essa, si commette un errore:

t = A(4,5)
Index exceeds matrix dimensions (Messaggio di errore)
D’altra parte, se si immagazzina un nuovo valore in un elemento della matrice, c’è un aumento dell’ordine per accomodare il nuovo venuto:
A(4,5) = 17
A = 16 3 2 13
0 5 10 11
8 0 9 6
7 12 0 4
15 14 1 17

L’operatore : (due punti)
Il due punti,:, è uno dei più importanti operatori di MATLAB. Si trova in molte forme diverse. L’espressione:
1:10
è un vettore riga che contiene i numeri interi da 1 a 10
1 2 3 4 5 6 7 8 9 10
Per ottenere una sequenza, si deve specificare un incremento. Per esempio:
100:-7:50
è
100 93 86 79 72 65 58 51
cioè una sequenza di numeri da 100 a 50 con passo uguale a -7; mentre
0:pi/4:pi
è
0 0.7854 1.5708 2.3562 3.1416
matlab6
Le espressioni sottoscritte che coinvolgono i due punti assegnano porzioni di una matrice.
A(1:k,j)
rappresenta i primi k elementi della colonna jth di A. Così:
Sum(A(1:4,4))
calcola la somma della quarta colonna. Ma c’è un modo migliore . Il due punti assegna tutti gli elementi in una riga o colonna di una matrice e la keyword END assegna l’ultima riga o colonna. Così
sum(A(:,end))
calcola la somma degli elementi nell’ultima colonna di A.
ans = 34

Perchè la somma della magic square è uguale a 34? Se i numeri interi da 1 a 16 sono ordinati in quattro gruppi con somme uguali, quella somma deve essere:
sum(1:16)/4
che, chiaramente, è
ans = 34
Se si ha accesso al Symbolic Math Toolbox si può scoprire che la somma per un n-by-n magic square è (n3 + n)/2.

La funzione magic.
La funzione magic di MATLAB costruisce magic square di qualsiasi dimensione.Non a caso, questa funzione è chiamata magic.
B = magic(4)
B = 16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Se ti è piaciuto l’articolo , iscriviti al feed cliccando sull’immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
reeder

 

0

Guida all’uso di MatLab: per iniziare.

Questo tutorial è teso ad aiutare chi inizia ad imparare MATLAB. Contiene un numero elevato di esempi così da poter da subito utilizzare MATLAB ,e dovrebbe poi essere utile per il seguito. Per attivare MATLAB su un PC o Mac, basta un duplice scatto sull’icona di MATLAB.

Per attivare MATLAB su un sistema UNIX, digitare matlab al prompt del sistema operativo. Per uscire da MATLAB in qualsiasi istante, digitare QUIT al prompt di MATLAB. Se si necessita di più assistenza, digitare HELP al prompt di MATLAB, o cliccare sul menu dell’HELP su un PC o Mac.

Matrici e Magic Squares
Il migliore modo per iniziare con MATLAB è quello di imparare a maneggiare le matrici, questa sezione mostra come fare.

Una matrice è in MATLAB, un ordine rettangolare di numeri,significato speciale qualche volta è adottato per le 1 -by- 1 matrici che sono scalari, e per matrici con solamente una riga o colonna che sono vettori.
matlab3
MATLAB ha altri modi di immagazzinare dati numerici e dati non numerici, ma all’inizio, di solito è meglio pensare a tutto come una matrice. Le operazioni in MATLAB sono destinate ad essere più naturali possibile. Dove gli altri linguaggi di programmazione lavorano con numeri uno alla volta, MATLAB permette di lavorare facilmente e rapidamente con matrici di interi.

Immettere le matrici
Si possono registrare matrici in MATLAB in molti modi diversi.
- introdurre un elenco esplicito di elementi.
- caricare matrici da files di dati esterni.
- generare matrici utilizzando la funzione built-in.
- creare matrici con le proprie funzioni in M-files.

Cominciamo a registrare la matrice come un elenco dei suoi elementi. Si seguano a tal proposito solamente alcune convenzioni di base:

- Separare gli elementi di una riga con spazi vuoti o virgole.
- Usare un punto e virgola ”;” per indicare la fine di ciascuna fila.
- Racchiudere l’elenco intero di elementi con parentesi quadrate , [ ].

Per registrare la matrice di D¨urer, semplicemente digitare:
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
MATLAB espone a video solo la matrice digitata,
A = 16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1

Questo procedimento associa precisamente i numeri a porzioni di memoria. Una volta fornita la matrice, essa è registrata automaticamente nel workspace di MATLAB. Ora si può indicarla semplicemente come A.Quindi si può sommare, trasporre, etc .Si è probabilmente già consapevoli delle proprietà speciali di una matrice magic square con i vari modi di sommare i suoi elementi. Se si prende la somma lungo qualsiasi riga o colonna, o lungo una delle due diagonali principali, si ottiene sempre lo stesso numero. Verificare tutto ci`o usando MATLAB. Il primo tentativo è il seguente:
sum(A)
matlab_mcxlab
MATLAB risponde con:
ans = 34 34 34 34
Quando non si specifica una variabile di output, MATLAB usa la variabile ans, per immagazzinare i risultati di un calcolo. Si è calcolato un vettore fila che contiene certamente le somme delle colonne di A; ogni colonna ha la stessa somma, la somma magica, 34. Cosa si può dire sulle somme delle righe? MATLAB ha una preferenza per lavorare con le colonne di una matrice, così il modo più facile per ottenere le somme delle righe è quello di trasporre la matrice,si calcoli la colonna somma della trasposta, e poi si trasponga il risultato. L’operazione di trasposizione è denotata da un apostrofo ’. Così:
A’
determina il risultato seguente:
ans = 16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
e
sum(A ‘) ‘
produce un vettore colonna che contiene le somme delle righe:
ans = 34 34 34 34

La somma degli elementi della digonale principale è ottenuta facilmente con l’aiuto della funzione diag che estrae solo gli elementi dellla diagonale.
diag(A) produce:
ans = 16 10 7 1 e
sum(diag(A)) produce:
ans = 34
L’altra diagonale, l’antidiagonale così chiamata non è così importante MATLAB non ha così matematicamente, una funzione fatta apposta . Ma una funzione originariamente creata per uso in grafica, fliplr riporta una matrice da sinistra a destra.
sum(diag(fliplr(A)))
ans = 34

Si è così verificato che la matrice di D¨urer è davvero una magic square e, nel processo,si sono utilizzate operazioni sulle matrici di MATLAB. Le sezioni seguenti continuano a usare questa matrice per illustrazioni supplementari .
Mate_in_Ubuntu 

Se ti è piaciuto l’articolo , iscriviti al feed cliccando sull’immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
reeder

 

0

Guida all’uso di MATLAB: introduzione.

MATLAB (abbreviazione di Matrix Laboratory) è un ambiente per il calcolo numerico e l’analisi statistica scritto in C che comprende anche l’omonimo linguaggio di programmazione creato dalla MathWorks.

 

MATLAB consente di manipolare matrici, visualizzare funzioni e dati, implementare algoritmi, creare interfacce utente, e interfacciarsi con altri programmi. Nonostante sia specializzato nel calcolo numerico, uno strumentario opzionale interfaccia MATLAB con il motore di calcolo simbolico di Maple.

 

MATLAB è usato da milioni di persone nell’industria e nelle università per via dei suoi numerosi strumenti a supporto dei più disparati campi di studio applicati e funziona su diversi sistemi operativi, tra cui GNU/Linux e Unix.

Matlab_Logo

Abbreviazione di “MATrix LABoratory“, MATLAB fu creato alla fine degli anni ’70 da Cleve Moler, il presidente del dipartimento di scienze informatiche dell’Università del Nuovo Messico. Egli creò MATLAB per dare ai suoi studenti accesso a LINPACK e ad EISPACK senza che essi dovessero conoscere il Fortran. Presto si diffuse nelle altre università e trovò un grande pubblico tra la comunità dei matematici applicati.

 

Jack Little, un ingegnere, conobbe il programma durante una visita a Moler all’università di Stanford nel 1983. Riconoscendo il suo potenziale commerciale, si unì con Moler e Steve Bangert. Essi riscrissero MATLAB in linguaggio C e fondarono la The MathWorks nel 1984 per continuare il suo sviluppo.

Interfaccia.

L’interfaccia principale di MATLAB è composta da diverse finestre che è possibile affiancare, spostare, ridurre a icona, ridimensionare e così via. Le finestre principali, più usate, sono quattro:

    Command Window
    Workspace
    Current directory
    Command history

 

matlab main

 

MATLAB caratterizza una famiglia delle soluzioni application-specific denominate toolboxes. Molto utile per la maggior parte degli utenti di MATLAB, toolboxes, fornisce le basi per applicare la tecnologia specializzata.I toolboxes sono collezioni complete di funzioni MATLAB (M-files)che estendono l’ambiente di MATLAB per risolvere particolari categorie di problemi.Gli ambienti in cui i toolboxes sono disponibili sono:

elaborazione dei segnali,

sistemi di controllo,

reti neurali,

logica incoerente,

wavelets,

simulazione e molti altri.

 

Screenshots.

 

Matlabunix

 

matlab_mcxlab

 

Matlab2

 

Matlab1

 

matlab3

 

matlab4

 

matlab5

Se ti è piaciuto l’articolo , iscriviti al feed cliccando sull’immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

reeder

 

 

 

0

MIPS Creator CI20 la nuova development board per sviluppatori Linux e Android

MIPS ha presentato la nuova single board ARM dedicata agli sviluppatori Linux e Android, ecco le principali caratteristiche.

MIPS Creator CI20
Negli ultimi anni abbiamo visto approdate diversi device basati architettura ARM progettati per la programmazione di nuove applicazioni, distribuzioni dedicate. A puntare soluzioni development board troviamo anche Imagination Technologies, azienda che ha recentemente presentato Creator CI20, single board basata su processore Ingenic MIPS con una scheda grafica PowerVR e tecnologie programmabili RF Ensigma.

MIPS Creator CI20 è una single board progettata principalmente per gli sviluppatori Linux e Android, per consentire di avere una development board economica con la quale poter lavorare su nuovi progetti basati su architettura ARM.

Continua a leggere…

 

0

Ubuntu Developer Tools Center aggiunge la possibilità di installare Android Studio

Canonical ha rilasciato il nuovo Ubuntu Developer Tools Center che consentirà di installare facilmente Android Studio e Android SDK in Ubuntu e derivate.

Android Studio
Ubuntu è un sistema molto utilizzato non solo dai developer Linux ma anche da sviluppatori Android. Per questo motivo Canonical sta cercando di facilitare l’installazione delle piattaforme di sviluppo di Android fornite da Google grazie a nuovi tool dedicati come ad esempio Ubuntu Developer Tools Center.
Ubuntu Developer Tools Center è un sistema che consente agli sviluppatori di installare facilmente non solo la piattaforma di sviluppo di Canonical ma anche Android Studio e Android SDK attraverso un semplice comando da riga di comando. Il nuovo Ubuntu Developer Tools Center è un progetto ancora in fase di sviluppo che sarà disponibile nei repository ufficiali di Ubuntu 14.10 Utopic e che potremo comunque installare anche in Ubuntu 14.04 Trusty LTS grazie a PPA dedicati.

Continua a leggere…

 

0

Remarkable un completo editor markdown per Linux

Remarkable è un completo editor per markdown per Linux dotato di interessanti e soprattutto utili features.

Remarkable in Ubuntu
Sono molti gli user e siti web che supportano markup, linguaggio che ci consente di scrivere velocemente testi grazie ad una semplice sintassi (con la possibilità di convertire il tutto in HTML). Per Linux è disponibile Remarkable, completo editor di markdown open source dotato di un’interfaccia grafica semplice e intuitiva con diverse ed utili funzionalità. Remarkable ci consente di avere una finestra di anteprima del nostro testo, in maniera tale va verificare se la sintassi è corretta,  da notare la possibilità di evidenziare le sintassi durane la digitazione, il software dispone inoltre di diversi temi CSS personalizzabili.

Continua a leggere…

 

0

Notepadqq 0.20.0 la nuova versione del clone di Notepad++ per Linux

E’ disponibile per Ubuntu e derivate la nuova versione 0.20.0 di Notepadqq il clone di Notepad++ per Linux

Notepadqq in Ubuntu
Notepad++ è un noto editor di testo che include numerose funzionalità specifiche per la programmazione. Oltre a supportare i più diffusi linguaggi di programmazione come ad esempio C, C#, C++, HTML, PHP, CSS, Java, JavaScript, ASP, SQL, VB/VBS, Python, Perl, Ruby, Assembler, Pascal ecc Notepad++ dispone di numerose funzionalità come ad esempio la possibilità di creare pagine / documenti HTML ecc. Per noi user Linux è disponibile Notepadqq un progetto che punta a fornire una versione open source con interfaccia grafica Qt del noto editor di testo per Windows includendo le stesse funzionalità compreso il supporto per più diffusi linguaggi di programmazione. Gli sviluppatori del progetto Notepadqq hanno rilasciato la nuova versione 0.20.0, importante aggiornamento che rende sempre più stabile e funzionale il nuovo editor testuale open source.

Continua a leggere…