matlab sistema dinamico
ciao a tutti, ho un problema con matlab e la simulazione di un sistema dinamico.
In pratica ho un sistema dinamico di questo tipo: y(k+1)=4y(k)(1-y(k))
il problema mi dice di simularlo e creare una rete neurale con matlab.
adesso per simularlo in base a una condizione iniziale da me imposta faccio questo:
y(1)=0.3
for k=1:99,
y(k+1)=4y(k)(1-y(k))
end
inoltre siccome dovrei creare dei pattern y(k+1)=f(y(k))
creo questi vettori di ingresso e uscita:
u=y(1:end-1) vettore ingresso
v=y(2:end) vettore uscita
poi simulo il sistema con nntool per creare la rete neurale e fin qui tutto bene.Adesso mi si chiede di simulare il sistema creato dalla rete neurale per vedere se corrisponde ai patter e qui avevo pensato a fare questo:
x=sim(reteneurale,y);
plot(v);
hold on
plot(x,'r');
è giusto fare così?
inoltre adesso il prof mi ha detto di provare a fare una cosa, cioè mandare il sistema in evoluzione libera creando i pattern y(k+1)=f(y(st)(k)) dove y(st) è la y stimata che dipende dall'istante precedente.In pratica mi ha spiegato che non devo + disegnare il grafico totale, ma lo devo disegnare punto per punto dove l'uscita dipende dallo stato precedente.Mi ha spiegato che dovrei creare un ciclo for i=1:99...
adesso però come vado avanti?
in pratica mi è stato spiegato che il sistema all'inizio avrà un andamento simile a quello reale e poi pian piano si dissocia..
grazie per il vostro aiuto..domani lo devo consegnare
In pratica ho un sistema dinamico di questo tipo: y(k+1)=4y(k)(1-y(k))
il problema mi dice di simularlo e creare una rete neurale con matlab.
adesso per simularlo in base a una condizione iniziale da me imposta faccio questo:
y(1)=0.3
for k=1:99,
y(k+1)=4y(k)(1-y(k))
end
inoltre siccome dovrei creare dei pattern y(k+1)=f(y(k))
creo questi vettori di ingresso e uscita:
u=y(1:end-1) vettore ingresso
v=y(2:end) vettore uscita
poi simulo il sistema con nntool per creare la rete neurale e fin qui tutto bene.Adesso mi si chiede di simulare il sistema creato dalla rete neurale per vedere se corrisponde ai patter e qui avevo pensato a fare questo:
x=sim(reteneurale,y);
plot(v);
hold on
plot(x,'r');
è giusto fare così?
inoltre adesso il prof mi ha detto di provare a fare una cosa, cioè mandare il sistema in evoluzione libera creando i pattern y(k+1)=f(y(st)(k)) dove y(st) è la y stimata che dipende dall'istante precedente.In pratica mi ha spiegato che non devo + disegnare il grafico totale, ma lo devo disegnare punto per punto dove l'uscita dipende dallo stato precedente.Mi ha spiegato che dovrei creare un ciclo for i=1:99...
adesso però come vado avanti?
in pratica mi è stato spiegato che il sistema all'inizio avrà un andamento simile a quello reale e poi pian piano si dissocia..
grazie per il vostro aiuto..domani lo devo consegnare