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

其他行业

开发平台:

Matlab

  1. % This function constructs the receiving end power circle diagram
  2. % for varying values of Vs from Vr up to 1.35 Vr.
  3. %
  4. % Copyright (C) 1998 by H. Saadat
  5. function pwrcirc(ABCD)
  6. global resp model par1 par2 linelngt freq
  7. diary off
  8. if exist('ABCD')~=1
  9. A = input('Enter the complex line constant A = ');
  10. B = input('Enter the complex line constant B = ');
  11. C = input('Enter the complex line constant C = ');
  12. D = A; ABCD=[A B; C D]; end
  13. fprintf(' n')
  14. fprintf(' Receiving end power circle diagram n')
  15. fprintf(' ---------------------------------- n')
  16. Vrm = input('Enter receiving end line-line voltage kV = ');
  17. ba = angle( ABCD(1,2) )- angle(ABCD(1,1));
  18. delta = 0:3:42;
  19. d = delta*pi/180;
  20. Vsm = 1.35*Vrm;
  21. h=figure;
  22. hold on
  23. for k = 1:7
  24. Vsm = Vsm -.05*Vrm;
  25. bd = angle(ABCD(1,2)) - d;
  26. S1 = Vsm*Vrm/abs(ABCD(1,2)); S2 = abs(ABCD(1,1))*Vrm^2/abs(ABCD(1,2));
  27. Pr = S1*cos(bd) - S2*cos(ba);
  28. Qr = S1*sin(bd) - S2*sin(ba);
  29. tx = max(Pr); ty = min(Qr);
  30.   if k ==1
  31.   pm = ceil(max(Pr));
  32.   x = 0:.1*pm:pm; y = zeros(1,length(x));
  33.   else end
  34. plot(Pr, Qr)
  35. if k == 1, text( tx, ty, '1.30'), else end
  36. if k == 2, text( tx, ty, '1.25'), else end
  37. if k == 3, text( tx, ty, '1.20'), else end
  38. if k == 4, text( tx, ty, '1.15'), else end
  39. if k == 5, text( tx, ty, '1.10'), else end
  40. if k == 6, text( tx, ty, '1.05'), else end
  41. if k == 7, text( tx, ty, '1.0'), else end
  42. end
  43. plot(x,y), grid
  44. axis([0 pm -pm/2  pm/2]);
  45. axis('square')
  46. xlabel('Pr, MW'), ylabel('Qr,  Mvar')
  47. title('Power circle diagram  Vs: from Vr to 1.3Vr ')
  48. hold off
  49. pause
  50. %axis('auto')
  51. fprintf(' n Hit return to continue n')
  52. pause