Il 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.

Caricato da

Cristian Haivaz
Copyright
© © All Rights Reserved
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 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.

Caricato da

Cristian Haivaz
Copyright
© © All Rights Reserved
Formati disponibili
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

Potrebbero piacerti anche