Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Rete neurale e matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Rete neurale e matlab

Messaggioda Foto UtenteTommyR22 » 27 dic 2011, 1:22

ciao a tutti, ho un problema con l'uso del tool di matlab delle reti neurali.
Devo identificare tramite rete neurale multistrato un sistema dinamico di questo tipo: y(k+1)=4y(k)(1-y(k))
il mio problema è che quando vado a d utilizzare nntool(gui grafica) devo indubbiamente mettere dei vettori di ingresso e uscita..cosa metto?! :roll:
graziee :)
Avatar utente
Foto UtenteTommyR22
0 2
 
Messaggi: 13
Iscritto il: 21 set 2011, 18:14

0
voti

[2] Re: Rete neurale e matlab

Messaggioda Foto UtenteDirtyDeeds » 27 dic 2011, 11:11

1) Se hai già il sistema dinamico definito, che problema di identificazione è? :-M
2) Normalmente, in un problema di identificazione, i vettori di ingresso e uscita derivano da misurazioni fatte sul sistema: se è un esercizio, ti dovrebbero essere forniti con il testo.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[3] Re: Rete neurale e matlab

Messaggioda Foto UtenteTommyR22 » 27 dic 2011, 15:27

grazie della risposta!
allora il problema dice questo:
identificare con una rete neurale mlp il sistema dinamico y....;
poi ci sono vari punti tipo a)simulare il isstema a partire da diverse condizioni iniziali. b)costruire i pattern y(....) ecc ecc

adesso o sono io che non capisco bene cosa si deve fare, oppure il prof si è espresso male.andando a lavorare con nntool devo appunto inserire dei vettori di ingresso e uscita utilizzando una rete mlp con backprorpagation per poi allenarla, però sti vettori li prendo a cavolo? :) dal testo i vettori di ingresso di come ho capito li decido io,ma di uscita?? :cry:

grazie ancora!
Avatar utente
Foto UtenteTommyR22
0 2
 
Messaggi: 13
Iscritto il: 21 set 2011, 18:14

0
voti

[4] Re: Rete neurale e matlab

Messaggioda Foto Utenteasdf » 27 dic 2011, 16:05

Perdonatemi se intervengo nella discussione, in quanto sono totalmente ignorante riguardo l'argomento in questione.
Lo faccio solo per segnalare a Foto UtenteTommyR22 che esiste su ElectroYou un articolo relativo alle reti neurali, di Foto Utentec1b8:
Reti Neurali

che gli suggerisco di leggere e che potrebbe essergli utile e che si aggiunge ovviamente ai preziosi consigli di Foto UtenteDirtyDeeds e di tutti gli utenti che ti risponderanno ;-) .

Ciao e buona prosecuzione di topic.
O_/
Avatar utente
Foto Utenteasdf
25,3k 8 11 13
Master EY
Master EY
 
Messaggi: 4762
Iscritto il: 11 apr 2010, 9:19

0
voti

[5] Re: Rete neurale e matlab

Messaggioda Foto UtenteTommyR22 » 27 dic 2011, 16:18

grazie l'avevo già letta :D
non riesco a trovare un 'esempio' di rete neurale sul quale basarmi.. :?
Avatar utente
Foto UtenteTommyR22
0 2
 
Messaggi: 13
Iscritto il: 21 set 2011, 18:14

0
voti

[6] Re: Rete neurale e matlab

Messaggioda Foto UtenteTommyR22 » 27 dic 2011, 18:20

edit:
mi ha risposto il professore.Bene si è espresso male perché PRIMA di tutto devo simulare il sistema a partire da una condizione iniziale voluta.Quindi faccio così:

y(1)=5;
for k=1:99
y(k+1)=4y(k)(1-y(k));
end

adesso il prof mi dice che i pattern di ingresso e uscita sono y(k) e y(k+1), ma come faccio a vederli e a salvarli in una variabile che poi prenderò dal workspace in nntool?? O_/
Avatar utente
Foto UtenteTommyR22
0 2
 
Messaggi: 13
Iscritto il: 21 set 2011, 18:14

0
voti

[7] Re: Rete neurale e matlab

Messaggioda Foto UtenteDirtyDeeds » 27 dic 2011, 18:36

Per esempio per l'ingresso:

Codice: Seleziona tutto
u = y(1:end-1)


e per l'uscita

Codice: Seleziona tutto
v = y(2:end)
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[8] Re: Rete neurale e matlab

Messaggioda Foto UtenteTommyR22 » 27 dic 2011, 18:48

grazie tante! :) però potresti spiegarmi la sintassi?Se ho capito bene ad esempio per l'ingresso,u è uguale a y(k) dove k va da 1 a 99 sottraendo 1? :oops:

Se voglio costruire i pattern y(k+1)=f(y(k)), in pratica cosa dovrei mettere in target?x=u=v?

ultima cosa, se volessi disegnare il grafico del sistema dinamico, utilizzo la sintassi plot?? :lol:

grazie grazie! :)
Avatar utente
Foto UtenteTommyR22
0 2
 
Messaggi: 13
Iscritto il: 21 set 2011, 18:14

0
voti

[9] Re: Rete neurale e matlab

Messaggioda Foto UtenteDirtyDeeds » 27 dic 2011, 19:46

Prima determini tutto il vettore degli y(k) con il programma che hai scritto tu, poi da y costruisci i vettori degli ingressi e delle uscite come ti ho detto io. Se non ho capito male, il tuo prof. ti ha detto di usare gli y(k) come ingresso e gli y(k+1) come uscite: questo significa che il vettore degli ingressi è costituito dai primi 98 valori di y, mentre il vettore delle uscite è costituito dagli ultimi 98 valori. Questi due vettori li ottieni come ti ho indicato prima.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[10] Re: Rete neurale e matlab

Messaggioda Foto UtenteDirtyDeeds » 27 dic 2011, 19:57

Aggiungo due considerazioni. Il programma che hai scritto tu contiene degli errori:

Codice: Seleziona tutto
y(1)=5;
for k=1:99
y(k+1)=4y(k)(1-y(k));
end


Ci va una virgola alla fine della linea con il for e mancano i segni di moltiplicazione:

Codice: Seleziona tutto
y(1)=5;
for k=1:99,
y(k+1)=4*y(k)*(1-y(k));
end


Poi, hai posto y(1)=5, ma non va bene perché quel sistema dinamico è definito per y\in [0,1] (il sistema in questione è la celeberrima mappa logistica). Per y(1) > 1 il sistema diverge rapidamente.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

Prossimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti