0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
22 visualizzazioni
Sistemi Dinamici - MATLAB
Il documento fornisce una panoramica dei principali comandi MATLAB per la manipolazione di matrici, vettori e sistemi dinamici. Vengono illustrati comandi per la creazione, modifica e analisi di matrici e vettori, nonché per la modellazione e simulazione di sistemi in tempo continuo e discreto.
Scarica in formato PDF, TXT o leggi online su Scribd
0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
22 visualizzazioni
Sistemi Dinamici - MATLAB
Il documento fornisce una panoramica dei principali comandi MATLAB per la manipolazione di matrici, vettori e sistemi dinamici. Vengono illustrati comandi per la creazione, modifica e analisi di matrici e vettori, nonché per la modellazione e simulazione di sistemi in tempo continuo e discreto.
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 1
MATLAB
Comando Cosa fa Risultato
x=3 Definire una variabile I nomi delle variabili sono CASE SENSITIVE Serve a non fa vedere nel command window il Matlab sovrascrive le variabili se ; risultato ridichiarate Who Mostra le variabili che ho dichiarato Mostra le variabili che ho dichiarato, la grandezza, i Whos bytes e la classe clc Cancella la finestra, ma mantiene le variabili clear Cancella tutto, anche il workspace (+) (-) (*) (/) Somma, sottrazione, moltiplicazione e divisione \ Anziche fare a/b, con \ matlab fa b/a .* Operazione componente per componente help nome Scrive tutte le funzionalità del comando nome
A=[0 1; -1 2] Crea una matrice e il ; definisce la riga
B=[0 0 1]' L'apice vuol dire trasposto
inv(A) Calcola l'inversa di A
zeros(3,2) Crea una matrice di zeri 3x2 ones(3,2) Crea una matrice di uno 3x2 eye Matrice identità Genera un vettore in cui il primo numero è il numero size(A) di righe e il secondo di colonne lenght(A) Scrive la lunghezza di A isequal(A,B) Dice se due matrici sono uguali o no A==B Calcola il check logico su ogni singolo elemento diag(1 4 -2) Crea la matrice diagonale coi numeri tra parentesi diag(A) Calcola la diagonale della matrice A v=2:8 Definisce un vettore riga con i numeri da 2 a 8 Definisce un vettore riga con gli elementi da 1 a 10 v=0:0.1:10 spaziati di 0.1 A=rand(4) Crea una matrice 4x4 casuale A(1,:) Vuol dire prendi la prima riga A(:,2) Vuol dire prendi la seconda colonna A(1:2, :) Vuol dire seleziona la prima e la seconda riga A([1 3], :) Vuol dire seleziona la prima e la terza riga A(2,2)=0 Modifica l'elemento 2,2 a zero C=[A B] Mette accanto due matrice (se hanno le stesse righe) Mette l'una sopra l'altra le matrice (se hanno le C=[A; B] stesse colonne) rank(A) Rango della matrice A inv(A) Inverso della matrice A det(A) Determinante della matrice A eig(A) Trova gli autovalori della matrice A Crea due matrici, dove in D salva gli autovalori, e in V [V,D]=eig(A) gli autovettori relativi norm(A) Norma di un vettore A o di una matrice A max(sqrt(eig(A'*A))) Norma di una matrice A help elmat Tutti gli strumenti per la matrice figure, plot(x, 3x+7) con Disegna il grafico della funzione da -5 a 5 distanziato x=[-5:0.01:5] di 0.01 xlabel('x') Dà il nome all'asse x ylabel('y') Dà il nome all'asse y title('retta') Dà il titolo al grafico hold on Mantiene il grafico precedente figure, plot(x,1/2x.^2,'*r') Scrive la parabola in rosso fatta di asterischi neri close all Chiude tutte le figure p=[2 -2 5] Modo per chiamare i polinomi come 2x^2-2x+5 roots(p) Calcola le radici del polinomio p polyval(p,2) Quando vale il polinomio p in 2 x=[-5:0.1:5]'; figure, plot Disegna il grafico del polinomio da -5 a 5 distanziato (x,polyval(p,x)) di 0.01 Trova i coeffiecienti del polinomio che ha come poly([-1 -2 -3 -4]) radici -1 -2 -3 -4 mysys=ss(A,B,C,D) Crea un sistema dinamico con le matrici A, B, C, D TC In questo modo il sistema è a tempo discreto, con la mysys=ss(A,B,C,D,1) distanza di un secondo ta un campionamento e l'altro s=tf('s') Per definire la funzione di trasferimento TC Ho definito la funzione di strasferimento in modo G=(s+1)/(s^2+s+1) TC numerico (oppure G=tf([1 1],[1 1 1])) s=tf('z',1) Per definire la funzione di trasferimento TD [num, den]=ss2tf(A,B,C, Calcola numeratore e denominatore della funzione D) di trasferimento associata al sistema dinamico mysys G=tf(num, den) Ottengo in memoria la funzione di trasferimento [A, B, C, D]=tf2ss(num, Trova le matrici del sistema dinamico den) figure, impulse(mysys) Risposta impulsiva di mysys t valore dei tempi, y valore corrispondenti -> figure, [y,t]=impulse(mysys) plot(t,y) figure, step(mysys) Risposta al gradino figure, bode(mysys) Diagramma di Bode x0=[10 5]' t=0:0.01:40'; yl=initial(mysys, x0, t) Calcola la risposta libera figure, plot(t,yl) [yl, t, xl]=initial(mysys, x0, Calcola la risposta libera dello stato t); u=sin(1/2*t); y_f=lsim(mysys, u, t); Risposta libera con ingresso u dato [mag, ph]=bode(mysys, Scrive ampiezza e fase del diagramma di Bode 1/2) yperm=mag*sin Calcola la risposta di regime permanente (1/2*t+ph*pi/180); W=minreal(W) Applica le semplificazioni tra polinomi [zeri, poli, guad]=zpkdata Calcola gli zeri i poli e il guadagno (W) zeri{1} poli{1} guard{1} Mi mostra il risultato
Get (Ebook) Introduzione al calcolo numerico con codici in Matlab/Octave by Stefano De Marchi ISBN 9788874889396, 8874889399 PDF ebook with Full Chapters Now