[MatLab] Metodo Computazionale eulero

f4747912
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?

%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
apatriarca
Quali sono i tuoi dubbi?

f4747912
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 :
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

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

feddy
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

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

feddy
Mi spiace ma non provenendo da ingegneria non saprei come aiutarti. Matematicamente, di che cosa si tratta?

f4747912
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

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.