Estratto del documento

Strutture dati

Cell permette di collezionare in un’unica variabile come vettori, matrici, variabili numeriche o logiche, caratteri o stringhe. C = {componente1, componente2, …, componenteN};

  • C{i} estrae la i-esima componente di C
  • C{i}(k) estrae (se esiste) il k-esimo elemento della i-esima componente di C. Ad esempio, C{4}(2,3) estrae l’elemento con indice di riga 2 e indice di colonna 3 della quarta componente di C che dovrebbe essere una matrice.
  • Una variabile di tipo Cell contiene copie di variabili e non puntatori a variabili. Quindi se C = {A,B}, con A, B due generiche variabili, il contenuto di C non cambia se in seguito A e B sono modificate
  • C può essere inizializzata con il comando C = cell(m,n) -> C è composta da mxn matrici vuote
  • Celldisp(C) -> visualizza il contenuto di una cell
  • Cellplot(C) -> disegna il contenuto di una cell
  • Le celle possono essere annidate, cioè un elemento di una cell può essere esso stesso una cell.

Esempio

C = cell(1,4); A = [1 2 3; 4 5 6]; v = [1 4 6]; C{1} = {A,v}; C{2} = 4; C{4} = 'stringa';

  • Per estrarre il contenuto della matrice A si digita il comando C{1}{1}. Gli indici sono ordinati da sinistra verso destra, dalla cell più esterna a quella più interna.

Varargin è una variabile di tipo cell contenente le variabili di input di una funzione. Si usa quando gli input di una funzione possono variare (esistono parametri di default). L’uso di varargin richiede un ordine preciso delle variabili di input. L’assegnazione dei valori di default deve essere compresa nel primo blocco di istruzioni della funzione combinata con il comando nargin.

Nargin = numero delle variabili di input

  • if nargin == 0 error(‘Attenzione: è necessario introdurre un vettore’) elseif nargin == 1 T = 256; elseif nargin == 2 T = varargin{1}; else error(‘Troppe variabili di input!!!’) end ind = find(x>T); if isempty(ind), R = 0, else R=1; end

Nargout (numero delle variabili di output) e varargout

  • ind = find(x>T); if isempty(ind), R = 0, else R=1; end if nargout == 2 varargout{1} = ind; elseif nargout>2 error(‘Troppe variabili di output’) end

Switch-case-Otherwise

Se il valore di nome_variabile è valore1 viene eseguito il 1° blocco di istruzioni; Se è valore2, il 2° blocco di istruzioni, e così via, altrimenti esegue l’ultimo blocco di istruzioni.

  • Con switch sulla variabile nargin l’istruzione condizionale annidata if elseif else end può essere baipassata

Switch nome_variabile (o espressione)

  • case valore1 1° blocco di istruzioni
  • case valore2 2° blocco di istruzioni
  • otherwise ultimo blocco di istruzioni

endis

IsEmpty True for empty array. isempty(X) returns 1 if X is an empty array and 0 otherwise. An empty array has no elements, that is prod(size(X))==0.

Mean se v vettore mean(v) è la media degli elementi di v.

Sum S = sum(X), è la somma degli elementi del vettore X. Se X è matrice sum(X) equivale a sum(X,1) ed è il vettore riga delle somme delle colonne di X. Se per X matrice voglio sum(X,2) ottengo vettore colonna dato dalle somme delle righe di X.

Prod se v è vettore prod(v) è prodotto degli elementi della colonna del vettore, se v è matrice prod(v) è il vettore risultante dal prodotto degli elementi di colonna per ogni colonna nella matrice.

Operatori relazionali devono avere stessa dimensione. Ottengo matrici logiche di 1 e 0 dove viene verificata e non verificata la condizione di relazione.

  • 1 se è vera, 0 se è falsa

Find, ind=Find(condizione su vettore b), allora output sarà un vettore ‘ind’ di INDICI che fa capire quali componenti del vettore b hanno verificato la condizione richiesta.

  • Se uso find( ) senza condizione, allora non dà errore perché trova gli elementi diversi da 0.
  • Posso nominare ind=find(qualcosa) e poi usarlo in vettore come a(ind) per identificare le componenti a quelle posizioni.

Unique toglie gli elementi uguali. C = unique(A) for the array A returns the same values as in A but with no repetitions. C will be sorted.

R=Rem(a,b), calcola il resto della divisione di a/b e dà in output R come vettore di resti. Se dò a vettore fa il calcolo per ogni elemento del vettore. Se voglio calcolare le componenti pari di un vettore do R=rem(x,2) e ottengo R composto da resti di 0 e 1.

Mod mod(a,b) restituisce il resto della divisione tra a e b. (ex. mod(24,5) dà in ans 4)

Sign(y) mi dà il segno delle componenti producendo vettore di componenti 1 se positiva -1 se negativa o 0 se componente nulla.

Diff(a) attua una differenza tra due elementi consecutivi del vettore a generando un altro vettore che quindi ha una componente in meno rispetto ad a.

  • diff(v) o diff(v,2) o diff(v,3), cambia quante volte gli faccio fare la differenza diff(v,3) avrà 3 componenti in meno rispetto a v quindi.
  • Pos=find(diff(sign(y)))

All All(condizione su x), restituisce in output 1 se la condizione è verificata da tutte le componenti, 0 altrimenti (cioè per avere 0 ne basta una di componente che non verifica la condizione).

  • Se applicato al vettore senza condizione All(v) dà 1 se tutti gli elementi del vettore sono diversi da 0 altrimenti da 0.

Any restituisce 1 se almeno un elemento del vettore v è diverso da zero, 0 altrimenti.

Input, a=input(‘messaggio’), interrompe l’esecuzione di un programma e fa inserire all’utente il valore della variabile di input su tastiera.

Int2str(a), b=int2str(a) fa apparire solo la parte intera di a in b.

Num2str(a), b=num2str(a) trasforma in stringa il valore completo di a.

Disp ( [ ‘parole parole ‘, num2str(x) ] )

Linspace, x=linspace(min,max,numero di elementi) genera un vettore di componenti equidistanti tra un minimo e un massimo con definito numero di componenti.

x=(min:passo:max) o anche senza parentesi, ex. i=n-1:-1:1 vuol dire da n-1 a 1 con passo -1 perché vado da un numero maggiore ad un numero minore e mi muovo.

Anteprima
Vedrai una selezione di 4 pagine su 11
Glossario di MatLab programmazione Pag. 1 Glossario di MatLab programmazione Pag. 2
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Glossario di MatLab programmazione Pag. 6
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Glossario di MatLab programmazione Pag. 11
1 su 11
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 StudentHelper di informazioni apprese con la frequenza delle lezioni di Metodi numerici con elementi di programmazione 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 Roma La Sapienza o del prof Bruni Vittoria.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community