Estratto del documento

Array speciali

  • Matrice piena di 0: zeros(R,C); zeros(N)
  • Matrice piena di 1: ones(R,C), ones(N)
  • Matrice identità (tutti 0, 1 sulla diagonale): eye(R,C), eye(N)
  • Matrice di numeri casuali (nell’intervallo [0 1]): rand(R,C), rand(N)

exp = e numero di nepero

sort: ordina i vettori in ordine crescente

sum: fa la sommatoria

fzero(x) = calcola gli zero della funzione

min(x) = calcola il minimo

max = calcola il massimo

fminbnd(‘nome funzione’, estremo inf, estremo sup) = calcola il punto di minimo tra inf e sup in una funzione.

Concatenare vettori

Es. a = [0, 1, 2]; b = [1, 2, 3]

[a,b] = si attaccano a dx

[a;b] = vettore b va a capo

Vettori intervallati

  1. Primo:incremento:massimo → produce un vettore di elementi regolarmente intervallati, senza arrivare per forza all’estremo sup.
  2. Linspace(start:last:numero di valori) → arriva assolutamente all’estremo superiore.
  3. Logspace(a,b,numero di valori) → vettore di elementi intervallati logaritmicamente da 10a .10.

Coordinate nelle matrici

  • Indichiamo un particolare elemento di una matrice specificando la riga e la colonna usando le parentesi e la virgola.
  • Se vogliamo selezionare più di un elemento (es.): matrice = ([1 2], [3 4]) →
  • Possiamo specificare una sottomatrice rettangolare.
  • Usare le parentesi dopo il nome della matrice.
  • Righe desiderate, virgola, colonne desiderate.

Intervallando con : si può selezionare una parte di riga/colonna: es. matrice (1,2:4) (prima riga, dal numero 2 al numero 4).

bob(n) → Per i vettori monodimensionali (es. [1 2 3 4], bob(4) = 4).

Se ci posizioniamo con un solo indice, esso andrà per colonne.

Operatori utili per le matrici

  1. ’ → Apostrofo per fare la matrice trasposta.
  2. Size → Per la dimensione (numero di righe e colonne).
  3. Length → Il maggiore tra le Sizes.
  4. Diag(nome matrice) → Elementi sulla diagonale.
  5. Reshape → Ridimensiona l’insieme di elementi (reshape(nome matrice, R,C)).

Stringhe

Composti da caratteri alfanumerici, sono utilizzate per i testi. Si utilizzano le virgolette doppie (“ , “) prima e dopo un testo.

Vettori di caratteri → Per retrocompatibilità si possono creare vettori di carattere, con la virgoletta (‘, ‘) prima e dopo.

  • Si possono creare vettori e matrici di Stringhe, es. name = [ “Marty” ; “James” ; “Bob” ].
  • Per vettori di caratteri di più righe, il numero di caratteri deve essere lo stesso, es. name = ['Marty' ; 'James' ; 'Bob ' ] → N.B. il numero di caratteri deve essere lo stesso, infatti dopo Bob ci sono due spazi.
  • Per un gruppo di vettori di caratteri di lunghezze diverse si può usare il vettore di celle: es. name = { 'Marty' ; 'James' ; 'Bob’ }.

Polinomi

In MATLAB i vettori vengono utilizzati spesso per rappresentare i coefficienti di un polinomio.

3 2

Ad esempio i coefficienti di: =0 − 7 + 40 − 34 sono rappresentati nel vettore a = [1,-7,40,-34], in ordine decrescente!

Prodotto e divisione tra polinomi

  • conv(a,b) calcola il prodotto dei due polinomi descritti dai vettori dei coefficienti a e b. I due polinomi possono non avere lo stesso grado. Il risultato è il vettore dei coefficienti del prodotto polinomiale.
  • [q,r] = deconv(num,den) calcola il risultato della divisione tra un polinomio numeratore (il cui vettore dei coefficienti è num) ed un polinomio denominatore (il cui vettore dei coefficienti è den). Il polinomio quoziente è dato dal vettore dei coefficienti q, e il vettore dei coefficienti del resto è r.

Esempio:

>>a = [9,-5,3,7];
>>b = [6,-1,2];
>>product = conv(a,b)

product =
54 -39 41 29 -1 14

>>[quotient, remainder] = deconv(a,b)

quotient =
1.5 -0.5833

remainder =
0 0 -0.5833 8.1667

Radici del polinomio

  • roots(a) → Calcola le radici di un polinomio definito dal vettore dei coefficienti a. Il risultato è un vettore colonna che contiene le radici del polinomio.

>>r = roots([2, 14, 20])

r = -5; -2

  • poly(r) calcola i coefficienti del polinomio le cui radici sono specificate nel vettore r. Il risultato è un vettore riga che contiene i coefficienti del polinomio.

Es. >>c = poly([-5, -2])

c = 1, 7, 10

  • polyval(a,x) calcola i valori del polinomio per i valori specificati nel vettore (o matrice) x, per la sua variabile indipendente. I coefficienti del polinomio sono contenuti nel vettore a. I risultati hanno le stesse dimensioni di x.

3 2

Grafico del polinomio → Es. disegnare il grafico del polinomio: f(x) = ,9 − 5 + 3 + 7 per −2 ≤ x ≤ 5.

Risoluzione: >>a = [9,-5,3,7];
>>x = [-2:0.01:5];
>>f = polyval(a,x);
>>plot(x,f),xlabel(’x’),ylabel(’f(x)’)

Grafici

plot(x,y), dove x e y sono vettori di valori. Per mettere le etichette:

  • title('Qua va il titolo')
  • xlabel('Etichetta asse X')
  • ylabel('Etichetta asse Y')

Operazioni tra matrici

Magic(n): crea una matrice casuale con n righe ed n colonne.

Somma/sottrazione: per matrici di identiche dimensioni la somma è definita termine a termine: il comando F = A + B significa F(r,c) = A(r,c) + B(r,c), uguale per la sottrazione.

Prodotto scalare: il simbolo * indica il prodotto scalare di una matrice per un’altra, ovvero il prodotto tra la riga della prima matrice per la colonna della seconda. Questa operazione non è commutativa.

Matrice inversa (A-1 o inv(A)): essa esiste quando A è quadrata e il determinante è non nullo.

In un sistema lineare quadrato composto dalla matrice dei coefficienti (A), il vettore dei termini noti (b) e il vettore delle incognite, per trovare queste ultime, basta fare: x = A\b (backslash), oppure x = inv(A)*b.

Operazioni elemento per elemento: le operazioni elementari (oltre alla somma e differenza) possono essere svolte elemento per elemento usando la notazione puntata (A e B devono essere della stessa dimensione).

  • Moltiplicazione: F = A .* B → F(r,c) = A(r,c) * B(r,c)
  • Divisione: F = A ./ B → F(r,c) = A(r,c) / B(r,c)
  • Potenza: F = A .^ B → F(r,c) = A(r,c) ^ B(r,c)

Altre funzioni per un vettore A

  • Somma degli elementi: sum(A)
  • Prodotto degli elementi: prod(A)
  • Minimo: min(A)
  • Massimo: max(A)
  • Mediana: median(A)
  • Media: mean(A)
  • Deviazione Standard: std(A)

min e max possono dare sia il valore che la posizione (location).

N.B. Queste funzioni, se applicate a una matrice, lavorano per colonne; possiamo però farle lavorare per righe: basta imporgli di lavorare nella seconda dimensione (es: sum(A,2)).

  • Sort → Riordina i valori di un vettore in modo crescente. Questa funzione, se applicata ad una matrice, riordina le colonne indipendentemente!
  • Sortrows → Si utilizza per riordinare mantenendo intatte le righe. Questa funzione prende in ingresso la matrice ed il numero della colonna secondo cui ordinarla (es. Sortrows (A,1), ordinerà la matrice A in base alla prima colonna).
  • Flipud(A) → Gira la matrice sottosopra.
  • Flipr(A) → Gira la matrice destra-sinistra.
  • Rand(R,C) → Utile per generare matrici casuali tra 0 e 1.
  • Randn(R,C) → Si generano numeri casuali con distribuzione normale.

Script e file

Script: è un file di testo (.m) nel quale ogni riga è un comando MATLAB. Esso può essere ri-eseguito, facilmente modificato e può essere spedito a qualcuno.

I comandi sono eseguiti sequenzialmente: il file viene eseguito digitando il suo nome (senza .m), i risultati appaiono nella command window (se non mettiamo il ; ).

Per uno script ordinato

  1. Sezione dei commenti:
    • Il nome del programma e le parole chiave, nella prima riga.
    • La data di creazione e i nomi degli autori, nella seconda riga.
    • La definizione dei nomi delle variabili per ogni variabile di input e di output. Specificare anche le variabili usate nei calcoli e le unità di misura per tutte le variabili di input e di output!
    • Il nome di ogni funzione creata dall’utente che viene usata nel programma.
  2. Sezione di Input: inserire i dati in input e/o le funzioni di input e commenti per chiarezza.
  3. Sezione di calcolo.
  4. Sezione di output: questa sezione contiene le funzioni per visualizzare i risultati del programma.

%: si può utilizzare il simbolo % per aggiungere dei commenti di chiarimento, utili per il programmatore. Utilizzali assolutamente nell’esame.

help: quando si utilizza help in uno script, mostrerà la prima parte del commento con % scritto dal programmatore.

‘: con le virgolette singole si aggiungono i nomi, titoli delle variabili, ecc.

Attenzione!!!!! Non utilizzare nomi di funzioni già esistenti (es. sin, cos, ecc).

In uno script tenere presente di:

  1. Il nome del file deve cominciare con una lettera e può contenere cifre e il carattere underscore, fino a 31 caratteri.
  2. Non dare lo stesso nome al file di script e a una variabile.
  3. Non chiamare uno script con lo stesso nome di un comando o funzione MATLAB. Per verificare se esiste g
Anteprima
Vedrai una selezione di 5 pagine su 17
Appunti sui comandi Matlab Pag. 1 Appunti sui comandi Matlab Pag. 2
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Appunti sui comandi Matlab Pag. 6
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Appunti sui comandi Matlab Pag. 11
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Appunti sui comandi Matlab Pag. 16
1 su 17
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher follottofunky di informazioni apprese con la frequenza delle lezioni di Informatica industriale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Ferrara o del prof Gamberoni Giacomo.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community