COMMENTI SUI PROGRAMMI DI MATLAB Programma per calcolare la trasposta di una matrice Presa in considerazione una matrice formata da n righe ed m colonne, la sua trasposta sarà formata da m righe ed n colonne. Il primo ciclo for scorre le righe della matrice A mentre il secondo for scorre tutte le colonne.Dalla formula si nota che la matrice B sarà formata dagli stessi elementi della matrice A ma con gli indici invertiti. A= 2 3 5 9 3 5 2 1 1 4 3 3 B= 2 3 5 9 3 5 2 1 1 4 3 3 Programma per calcolare la carica di un condensatore La carica del condensatore(il quale è un sistema tempo variante) si ottiene dopo un periodo di 5τ dove τ è uguale a R*C.La tensione ai suoi capi raggiunge il valore all’incirca uguale ad E dopo 5τ. Programma per calcolare la potenza e la tensione Commento su programma Matlab Il seguente programma, dato un valore di corrente e un valore di resistenza, è in grado di darmi il valore della potenza dissipata e tensione che attraversa il circuito. Le formule sono: Potenza =R*(I)² Tensione = R*I Il circuito per la realizzazione è il seguente: R V I Programma per calcolare il partitore di corrente e tensione Il programma Partitore è un semplice esempio di programma che calcola la corrente e la tensione d’ uscita di un circuito partitore come quello di fig. 1 R1 V1 Iout R2 Fig.1 Tramite un ciclo for, in cui inseriamo il range del generatore V1, il programma calcola la corrente R1 d’ uscita sfruttando l’ equazione I out = R1 + R2 Trovata la corrente calcola la tensione in uscita tramite l’ equazione Vout = R2 ⋅ I out Programma per calcolare la divisione di un vettore La funzione di questo programma è quella di dividere il vettore (v). Z indica la grandezza (size) del vettore, mentre N divide il vettore in due parti. Il primo ciclo for scorre le colonne del vettore fino ad arrivare a metà. Il K visualizza la seconda parte del vettore, cominciando un secondo ciclo for che lo scorre Programma per calcolare un equazione se è impossibile o indeterminata Questo programma riesce a determinare se una equazione è impossibile o indeterminata cambiando i valori di a e di b che sono le nostre incognite. Se si pone a = 0 la divisione b/a risulterà impossibile; se invece si pone b = 0 la divisione b/a risulterà indeterminata. Programma che shifta un numero binario di n componenti verso destra function [b]= shiftdx (a,s) s=1 for k=1:(4-s) b(k+s) = a(k) end Il principio di funzionamento di questo programma è di semplice apprendimento. Vengono utilizzate per semplicità due variabili a e s : a indica il vettore che sarà schiftato verso destra di n posizioni , s indica la variabile di appoggio utilizzata per scorrere il numero . Il ciclo for fa scorrere il numero binario in esame dal primo componente fino all ‘ ultimo meno 1 [for k=1:(4-s)],mentre il successivo comando lo fa scalare di una posizione [b(k+s) = a(k) ]. Programma che shifta un numero binario di n componenti verso sinistra A [ x; y; z; t] x, y, z, t ∈ [0, 1] A [1 0 0 1] B [ 0 0 1 0] A(4) A(3) A(2) A(1) B(4) B(3) B(2) B(1) B(2) = A(1) B(3) = A(2) B(4) = A(3) k=1 k=2 k=3 B(k) = A (k+1) B(k) = A (k+5) B(2) = A (1+1) B(3) = A (2+1) B(4) = A (3+1) Programma che ordina i numeri di una matrice in senso crescente Questo programma realizzato sotto programma matlab ordina i singoli numeri di una matrice in senso crescente utilizzando il metodo dello scambio delle tre variabili. Inizialmente con la funzione size si fa riconoscere la grandezza della matrice, mentre con numel si determina il numero delle componenti della matrice. Dopo di che s’impongono i valori di i, k, h; e con un ciclo for che fa girare i valori j della seconda riga e della seconda colonna e se il valore della matrice scelto è maggiore del successivo in colonna vengono invertiti, altrimenti il valore viene confrontato con il successivo in riga e se maggiore viene invertito. Nel secondo ciclo for vengono confrontati i valori in diagonale mentre nel terzo ciclo si confrontano e ordinano gli estremi della matrice. Programma per calcolare la tensione ai capi di una resistenza Il seguente programma esegue il calcolo della tensione ai capi di un resistore variabile. I valori di resistenza cambiano mediante un ciclo “for”: for r=10:m ,OYDORUHPLQLPRGLUHVLVWHQ]DYDOHHLOYDORUHPDVVLPRVSHFLILFDWRGDOO¶XWHQWHFRPHGDWR di input, viene impostato tramite la variabile “m”. Il valore della corrente costante viene specificato, tramite la variabile “i”, dall’utente. Esempio di esecuzione del programma: i=[2] m=[12] tens=20 tens=22 tens=24