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

其他行业

开发平台:

Matlab

  1. % This function obtains the voltage profile for a transmission line.
  2. %
  3. % Copyright (C) 1998 by H. Saadat
  4. function vprofile(r, L, C, f)
  5. global resp model par1 par2 linelngt freq
  6. fprintf(' n')
  7. fprintf(' Voltage profile for line length up to 1/8 wavelength n')
  8. fprintf(' ---------------------------------------------------- n')
  9. if exist('r')~=1
  10.     r = input('Enter line resistance in ohms/km = '); else end
  11. if exist('L')~=1
  12.     L = input('Enter line inductance in millihenry/km = '); else end
  13. if exist('C')~=1
  14.     C = input('Enter line capacitance in microfarad/km = '); else end
  15.     if exist('f')~=1
  16.     f = input('Enter line frequency in Hz f = '); else end
  17.   if C == 0
  18.   shrtline =[
  19. '                                                             '
  20. ' Line charging capacitance is zero. A short line is assumed. '
  21. ' A voltage profile is not obtained for a short line.         '
  22. '                                                             '];
  23.   disp(shrtline)
  24.   fprintf(' n Hit return to continue n')
  25.   pause, return
  26.   else, end
  27. w=2*pi*f;
  28. z= r + j*w*L*1E-03;  y = j*w*C*1E-06;
  29. Zc = sqrt(z/y); gama = sqrt(z*y); beta = imag(gama);
  30. lamda = 2*pi/beta;
  31. Vsm = input('Enter sending end line-line voltage kV = ');
  32. MVArat = input('Enter rated sending end power, MVA = ');
  33. pfrat = input('Enter power factor  = ');
  34. Vs = Vsm/sqrt(3);
  35. dist3 = 0:10:lamda/8;
  36. Vrnl = abs(Vsm./cosh(gama*dist3));
  37. Vrsil = Vsm./abs(cosh(gama*dist3)+sinh(gama*dist3));
  38. Vmax = ceil(max(Vrnl/100))*100;
  39. dismax=  ceil(max(dist3/100))*100*1.1;
  40. tx = max(dist3);
  41. ynl = abs(Vsm./cosh(gama*lamda/8));
  42. ysil= Vsm./abs(cosh(gama*lamda/8)+sinh(gama*lamda/8));
  43. Is =cosh(gama*lamda/8)*Vs/(Zc*sinh(gama*lamda/8));
  44. Vshrt = Vs*cosh(gama*dist3)-Zc*Is*sinh(gama*dist3);
  45. Vshrt= sqrt(3)*abs(Vshrt);
  46. yshrt= min(Vshrt);
  47. th = acos(pfrat);
  48. Srate = MVArat*(cos(th)+j*sin(th));
  49. Is =conj(Srate)/(3*Vs);
  50. Vrc = Vs*cosh(gama*dist3) - Zc*Is*sinh(gama*dist3);
  51. Vrc = sqrt(3)*abs(Vrc);
  52. yfl = sqrt(3)*abs(Vs*cosh(gama*lamda/8) - Zc*Is*sinh(gama*lamda/8));
  53. h=figure;
  54. plot(dist3, Vrnl, dist3, Vrsil, '-', dist3, Vshrt,'-', dist3, Vrc,'-'), grid
  55. axis([0  dismax  0 Vmax]);
  56. ylabel('Vr')
  57. title(['Voltage profile for length up to 1/8 wavelength, Zc = ',num2str(real(Zc)), ' ohm'])
  58. text(tx, ynl, 'No-load')
  59. text(tx, ysil, 'SIL')
  60. text(tx, yshrt+25, 'Short-ckt')
  61. text(tx, yfl, 'Rated load')
  62. xsc= tx/dismax*.96;
  63. %text(0.11, 0.05, 'Sending end','sc')
  64. text(0.11, -80, 'Sending end')
  65. text(tx, -80, 'Receiving end')
  66. pause
  67. fprintf(' n Hit return to continue n')
  68. pause
  69. %axis('auto');