[MatLab] Metodo Computazionale eulero
Salve, sto studiando la discretizzazione e ho trovato questo codice che non ho ben capito come è implementato.
Riguarda la discretizzazione in modo computazionale con eulero in avanti con due poli e due zeri.
Qualcuno può aiutarmi a capire?
Riguarda la discretizzazione in modo computazionale con eulero in avanti con due poli e due zeri.
Qualcuno può aiutarmi a capire?
%Eulero % global u1_e u2_e e1_e e2_e num_e den_e; u1_e=0; u2_e=0; e1_e=0; e2_e=0; [num_e,den_e] = tfdata(Cdeulero,'v'); %% matlab function 2 polo 2 zero eulero in avanti function ud2 = Funzione_eulero( ee ) global u1_e u2_e e1_e e2_e num_e den_e; app2 = -(den_e(2)/den_e(1))*u1_e -(den_e(3)/den_e(1))*u2_e +ee*(num_e(1)/den_e(1)) +e1_e*(num_e(2)/den_e(1)) +e2_e*(num_e(3)/den_e(1)); u2_e=u1_e; u1_e=app2; e2_e=e1_e; e1_e=ee; ud2=app2; end
Risposte
Quali sono i tuoi dubbi?
funzionamento del codice: in pratica con
tfdata(CDeulero,v) praticamente la mia funzione di trasferimento discretizzata con due poli e due zeri viene scomposta in un vettore .
Quindi sfrutto num_e e den_e.
Questa è la parte che non ho capito :
tfdata(CDeulero,v) praticamente la mia funzione di trasferimento discretizzata con due poli e due zeri viene scomposta in un vettore .
Quindi sfrutto num_e e den_e.
Questa è la parte che non ho capito :
app2 = -(den_e(2)/den_e(1))*u1_e -(den_e(3)/den_e(1))*u2_e +ee*(num_e(1)/den_e(1)) +e1_e*(num_e(2)/den_e(1)) +e2_e*(num_e(3)/den_e(1)); u2_e=u1_e; u1_e=app2; e2_e=e1_e; e1_e=ee; ud2=app2; end
Più che una domanda di informatica mi sembra una domanda di ingegneria. Non c'è nulla di complicato in quel codice se non un'espressione che dovrebbe implementare il metodo da te citato. Sinceramente non ricordo abbastanza della teoria per comprendere come mai la formula sia fatta in quel modo. Che formula ti aspetteresti di trovare nel codice? Forse possiamo partire da lì per comprendere che tipo di semplificazioni ha fatto per arrivare a quella espressione.
Cosa intendi con due poli e due zeri ? Prova a contestualizzare un po' di più il problema. Perché se si tratta di applicare Eulero esplicito per risolvere una ODE, c'è veramente poco da fare/capire
In pratica ho progettato un regolatore tempo continuo con 2 poli e 2 zeri.
Questo regolatore è stato poi discretizzato.
Quindi secondo me questo modo serve per calcolare la z-trasformata con il metodo computazionale.
Questo regolatore è stato poi discretizzato.
Quindi secondo me questo modo serve per calcolare la z-trasformata con il metodo computazionale.
Mi spiace ma non provenendo da ingegneria non saprei come aiutarti. Matematicamente, di che cosa si tratta?
Allora diciamo che una volta che si progetta un controllore tempo continuo, chiaramente in qualche modo si devono rispettare le specifiche anche nel tempo discreto.
Quindi con il metodo di Eulero si passa ad approssimare l'area sottesa tra due campioni con l'area di un rettangolo
Quindi con il metodo di Eulero si passa ad approssimare l'area sottesa tra due campioni con l'area di un rettangolo