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

其他行业

开发平台:

Matlab

  1. % This function transforms the symmetrical components into its original
  2. % abc phasors.
  3. % The symmetrical components can be expressed in a one column array in
  4. % rectangular complex form or in a two column array in polar form, with
  5. % 1st column magnitude and 2nd column phase angle in degree.
  6. % First, second and third rows are Zero-, positives- and negative-sequence
  7. % components respectively.
  8. % The function  returns the abc phsors in rectangular form.
  9. % The function plots the original symmetrical components and the unbalanced
  10. % phasors.
  11. % Copyright (c) 1998 H. Saadat
  12. function [fabc] = sc2abc(fa012)
  13. rankf012=length(fa012(1,:));
  14. if rankf012 == 2
  15. mag= fa012(:,1); ang=pi/180*fa012(:,2);
  16. fa012r=mag.*(cos(ang)+j*sin(ang));
  17. elseif rankf012 ==1
  18. fa012r=fa012;
  19. else
  20. fprintf('n  Symmetrical components must be expressed in a one column array in rectangular complex form n')
  21. fprintf('  or in a two column array in polar form, with 1st column magnitude & 2nd column n')
  22. fprintf('  phase angle in degree. n')
  23. return, end
  24. a=cos(2*pi/3)+j*sin(2*pi/3);
  25. A = [1   1   1; 1 a^2  a; 1 a  a^2];
  26. fabc= A*fa012r;
  27. %fabcp= [abs(fabc)  180/pi*angle(fabc)];
  28. %fprintf(' n Unbalanced phasors n')
  29. %fprintf(' Magnitude  Angle Deg.n')
  30. %disp(fabcp)
  31. fabc0=fa012r(1)*[1; 1;  1];
  32. fabc1=fa012r(2)*[1;  a^2;  a];
  33. fabc2=fa012r(3)*[1;  a;  a^2];
  34. figure
  35. subplot(221);
  36. [Px, Py, Vscale]= phasor3(fabc);
  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)