Passing functions as arguments to one another

1 次查看(过去 30 天)
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.

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Motor Drives 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by