Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [Sopt] =MC_control(I_ref,Io,Ve,Is,Vs)
- global Ts R L Aq11 Aq12 Aq21 Aq22 Bq11 Bq12 Bq21 Bq22 S
- Irefalpha = 2*(I_ref(1) - 0.5*I_ref(2) - 0.5*I_ref(3))/3;
- Irefbeta = 2*(sqrt(3)*I_ref(2)*0.5 - sqrt(3)*I_ref(3)*0.5)/3;
- eopt=100;
- gopt = 10000000000;
- for k= 1:27;
- Ie = S(:,:,k)*Io;
- Is_p_3f = Aq21*Ve + Aq22*Is + Bq21*Vs + Bq22*Ie;
- Is_p_re = 2*(Is_p_3f(1) - 0.5*Is_p_3f(2)- 0.5*Is_p_3f(3))/3;
- Is_p_im = 2*(sqrt(3)*Is_p_3f(2)*0.5- sqrt(3)*Is_p_3f(3)*0.5)/3;
- VxN = S(:,:,k)*Ve;
- Vo=[0;0;0];
- Vo(1) = VxN(1) -(VxN(1) + VxN(2) + VxN(3))/3;
- Vo(2) = VxN(2) -(VxN(1) + VxN(2) + VxN(3))/3;
- Vo(3) = VxN(3) -(VxN(1) + VxN(2) + VxN(3))/3;
- Io_p_3f = (1 - R*Ts/L)*Io + (Ts/L)*Vo;
- Io_p_re = 2*(Io_p_3f(1) - 0.5*Io_p_3f(2)- 0.5*Io_p_3f(3))/3;
- Io_p_im = 2*(sqrt(3)*Io_p_3f(2)*0.5- sqrt(3)*Io_p_3f(3)*0.5)/3;
- Vs_p_3f = Vs;
- Vs_p_re = 2*(Vs_p_3f(1) - 0.5*Vs_p_3f(2)- 0.5*Vs_p_3f(3))/3;
- Vs_p_im = 2*(sqrt(3)*Vs_p_3f(2)*0.5- sqrt(3)*Vs_p_3f(3)*0.5)/3;
- g1 = (abs(Irefalpha - Io_p_re) + abs(Irefbeta-Io_p_im));
- g2 = abs(Vs_p_re*Is_p_im - Vs_p_im*Is_p_re);
- g = g1 + A*g2;
- if (g<gopt)
- gopt = g;
- eopt = k;
- end
- end
- SAa = S(1,1,eopt);
- SBa = S(1,2,eopt);
- SCa = S(1,3,eopt);
- SAb = S(2,1,eopt);
- SBb = S(2,2,eopt);
- SCb = S(2,3,eopt);
- SAc = S(3,1,eopt);
- SBc = S(3,2,eopt);
- SCc = S(3,3,eopt);
- Sopt = [SAa SBa SCa SAb SBb SCb SAc SBc SCc];
Add Comment
Please, Sign In to add comment