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) + ωr*ψq).dt (1) //d-axis flux linkage
Ψq = ʃ(Vq– (rs*iq) + ωr*ψd).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.
0 个评论
回答(1 个)
Sabin
2023-1-9
You can use the flux from the previous iteration as input to your function when computing the new value.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Motor Drives 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!