Azzera filtri
Azzera filtri

Passing functions as arguments to one another

1 visualizzazione (ultimi 30 giorni)
Ritoshirsa Sarkar
Ritoshirsa Sarkar il 8 Dic 2020
Risposto: Sabin il 9 Gen 2023
Hi,
I'm trying to find the d and q axis flux linkages in a Permanent Magnet Synchronous Motor(PMSM). The equations are as follows:
Ψd = ʃ(Vd– (rs*id) + ωrq).dt (1) //d-axis flux linkage
Ψq = ʃ(Vq– (rs*iq) + ωrd).dt (2) //q-axis flux linkage
id = (Ψd – k)/Ld
iq = Ψq/Lq
The process is iterative where ωr is the rotor speed(electrical) and k is a constant quantity.
Clearly, (1) and (2) are coupled.
I cannot figure out as to how two functions can be passed as input arguments to one another, as in this case.
Consider that the motor runs from zero speed to steady state and id, iq being zero to beign with.
[d(Ψd )/dt and d(Ψq)/dt are back emf values; id and iq are d and q axis currents, respectively]
Any suggestion would be very welcome.
Thank you.

Risposte (1)

Sabin
Sabin il 9 Gen 2023
You can use the flux from the previous iteration as input to your function when computing the new value.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by