Abc2sc.m
上传用户:eighthdate
上传日期:2014-05-24
资源大小:270k
文件大小:2k
源码类别:

其他行业

开发平台:

Matlab

  1. % This function transforms a three-phase unbalanced phasor into its
  2. % symmetrical components.
  3. % The Three phasors can be expressed in a one column array in rectangular
  4. % complex form or in a two column array in polar form, with 1st column
  5. % magnitude and 2nd column phase angle in degree.
  6. % The function returns the symmetrical components in rectangular form.
  7. % The function plots the original unbalanced phasors and the
  8. % symmetrical components.
  9. %
  10. %  Copyright (C) 1998 by H. Saadat
  11. function [symcomp] = abc2sc(fabc)
  12. rankfabc=length(fabc(1,:));
  13. if rankfabc == 2
  14. mag= fabc(:,1); ang=pi/180*fabc(:,2);
  15. fabcr=mag.*(cos(ang)+j*sin(ang));
  16. elseif rankfabc ==1
  17. fabcr=fabc;
  18. else
  19. fprintf('n  Three phasors must be expressed in a one column array in rectangular complex form n')
  20. fprintf('  or in a two column array in polar form, with 1st column magnitude & 2nd column n')
  21. fprintf('  phase angle in degree. n')
  22. return, end
  23. a=cos(2*pi/3)+j*sin(2*pi/3);
  24. A = [1   1   1; 1 a^2  a; 1 a  a^2];
  25. fa012=inv(A)*fabcr;
  26. symcomp= fa012;
  27. %scpolar = [abs(fa012)  180/pi*angle(fa012)];
  28. %fprintf(' n Symmetrical components n')
  29. %fprintf(' Magnitude  Angle Deg.n')
  30. %disp(scpolar)
  31. fabc0=fa012(1)*[1; 1; 1];
  32. fabc1=fa012(2)*[1;  a^2;  a];
  33. fabc2=fa012(3)*[1;  a;  a^2];
  34. figure
  35. subplot(221);
  36. [Px, Py, Vscale]= phasor3(fabcr);
  37. [Px0, Py0, Vscale0]= phasor3(fabc0);
  38. [Px1, Py1, Vscale1]= phasor3(fabc1);
  39. [Px2, Py2, Vscale2]= phasor3(fabc2);
  40. Vscle=max([Vscale, Vscale0, Vscale1, Vscale2]);
  41. plot(Px', Py','r')
  42. title('a-b-c set')
  43. axis([-Vscle Vscle -Vscle Vscle]);
  44. axis('square')
  45. subplot(222);
  46. plot(Px0', Py0','g')
  47. title('Zero-sequence set')
  48. axis([-Vscle Vscle -Vscle Vscle]);
  49. axis('square')
  50. subplot(223);
  51. plot(Px1', Py1','m')
  52. title('Positive-sequence set')
  53. axis([-Vscle Vscle -Vscle Vscle]);
  54. axis('square')
  55. subplot(224);
  56. plot(Px2', Py2','b')
  57. title('Negative-sequence set')
  58. axis([-Vscle Vscle -Vscle Vscle]);
  59. axis('square')
  60. subplot(111)