Pagina 1 di 1
SISTEMA DINAMICO ARX IN MATLAB
Inviato: 2 apr 2010, 16:14
da Benjamin
Vorrei graficarmi col matlab il seguente sistema dinamico:
y(k+1)=0.3cos(y(k))+u(k)
E' un sistema ARX cioè autoregressivo esogeno.
Autoregressivo in quanto l'uscita dipende dall' uscita negli istanti precedenti (y(k+1)=......y(k)....)
Esogeno in quanto è presente un ingresso (u(k)).
In particolare come u(k) ho messo un rumore bianco gaussiano.
k rappresenta gli istanti, dunque un vettore di 100 elementi.
Essendo un sistema più complesso rispetto a una semplice funzione a una variabile, non riesco a capire cosa potrei usare del matlab per poterlo graficare. ES. come implemento il rumore bianco gaussiano??
SPERO DI ESSERE STATO ABBASTANZA CHIARO NELL' ESPOSIZIONE E CHE QUALCUNO SIA IN GRADO DI DARMI UNA MANO
Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 18 apr 2010, 13:39
da ext33n
Una sola parola: simulink

Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 20 apr 2010, 17:27
da Benjamin
non occorre simulink.
Occorre la riga di comando

Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 20 apr 2010, 17:33
da rini
puoi generare un vettore di numero causali che seguono tale distribuzione. Una funzione che potresti utilizzare e la funzione randn del matlab da riga di comando che secondo la onorevole fonte rappresenta la distribuzione normale.
Link:
http://www.mathworks.com/access/helpdes ... randn.html
Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 24 apr 2010, 11:42
da Benjamin
Ok, fin qua ci siamo.
Ma per il resto....

Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 24 apr 2010, 11:49
da rini
non ho il matlab sotto mano ma potresti fare qualcosa del genre:
Codice: Seleziona tutto
u = randn(1,100);
y=1:1:100;
for i=1:100
y(i+1)=0.3*cos(y(i)+u(i));
end
plot(y)
salvo errori di sintassi vedi se era quello che ti aspettavi!
Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 24 apr 2010, 15:43
da Benjamin
Innanzitutto ti ringrazio dell' aiuto che mi stai dando, visto che sei stato l' unico a rispondere da quasi un mese a questa parte, GRAZIE.
Forse hai sbagliato perché hai messo u(i) dentro il coseno, invece dovrebbe essere fuori...
La scrittura contratta 1:1:100 cosa vuol dire, non capisco
Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 24 apr 2010, 19:07
da rini
Si ho sbagliato il u(i)
vuol dire che ti crea un vettore di cento elementi da 1 a 100 con distanza tra un elemento è l'altro di 1 unita
in pratica equivale a questo:
quando non capisci qualcosa la puoi provare direttamente sul prompt del matlab.
prova a scrivere queste due comandi
i due elementi equivalgono a
Codice: Seleziona tutto
y1 = [1 2 3 4 5 6 7 8 9 10]
y2 = [1 1.1 1.2 1.3 ....... 9.7 9.8 9.9 10]
ho scritto y = 1:1:100 per prendere il posto del tuo vettore che hai già a disposizione. Io l'ho scritto per poter eseguire le 4 righe di codice di sopra
Re: SISTEMA DINAMICO ARX IN MATLAB
Inviato: 24 apr 2010, 20:14
da Benjamin
Ok, adesso lo provo direttamente su MATLAB e vedo se funziona.
Mi raccomando non abbandonarmi
