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

其他行业

开发平台:

Matlab

  1. % This function produces a plot for the phasors F. The phasors can be expressed
  2. % in a one column array in rectangular complex form or in a two column array in
  3. % polar form, with 1st column magnitude and 2nd column phase angle in degree.
  4. %  Copyright  (c) 1998 H. Saadat
  5. function phasor(F)
  6. rankF=length(F(1,:));
  7. if rankF == 2
  8. mag = F(:,1);  th = F(:,2)*pi/180;
  9. Vr=mag.*cos(th);
  10. Vi=mag.*sin(th);
  11. elseif rankF == 1
  12. mag=abs(F); th = angle(F);
  13. Vr = real(F); Vi = imag(F);
  14. else
  15. fprintf('n  Phasors must be expressed in a one column array in rectangular complex form n')
  16. fprintf('  or in a two column array in polar form, with 1st column magnitude & 2nd column n')
  17. fprintf('  phase angle in degree. n')
  18. return, end
  19. Vscle=1.2*max([abs(Vr); abs(Vi)]);
  20. Z=1.1547005*mag/10;
  21. x1= Vr-(Z.*sin(pi/3-th));
  22. y1= Vi-(Z.*cos(pi/3-th));
  23. x2= Vr-(Z.*cos(th-pi/6));
  24. y2= Vi-(Z.*sin(th-pi/6));
  25. or=zeros(length(F(:,1)),1);
  26. Vx=[or  Vr]; Vy=[or  Vi];
  27. Ar1x=[x1  Vr]; Ar1y=[y1  Vi];
  28. Ar2x=[x2  Vr]; Ar2y=[y2  Vi];
  29. Arx=[Ar1x;Ar2x]; Ary=[Ar1y; Ar2y];
  30. h=plot(Vx', Vy', Arx', Ary');
  31. axis([-Vscle Vscle -Vscle Vscle])
  32. axis('square'), axis('equal')
  33. set(h,'color', [1, 0,0]);