📄 phasor.m
字号:
function phasor(x,y,sty,clr)
% PHASOR Phasor diagram for complex vector.
%
% PHASOR(X,Y,STY,CLR): Phasor diagram for the complex variable
% X + i*Y plotted with the point style STY and color CLR
% STY may be 'o','x','.', '*' or 'a' (for arrowtip) [Default TY='a']
% CLR may be 'c','m','y','r','g','b'
% PHASOR(Z) produces the Phasor diagram for complex vector Z with
% default point style and color.
%
% PHASOR (with no input arguments) invokes the following example:
%
% >>phasor([2+j*3;-2+j;-1-j*2;4-j*5]), axesn
%
% ADSP Toolbox: Version 2.0
% For use with "Analog and Digital Signal Processing", 2nd Ed.
% Published by PWS Publishing Co.
%
% Ashok Ambardar, EE Dept. MTU, Houghton, MI 49931, USA
% http://www.ee.mtu/faculty/akambard.html
% e-mail: akambard@mtu.edu
% Copyright (c) 1998
v=3;if exist('version')==5,vr=version;v=eval(vr(1));end
if nargin==0,help phasor,disp('Strike a key to see results of the example')
pause,j=sqrt(-1);if v>3,eval('clf');else,eval('clg');end
phasor([2+j*3;-2+j;-1-j*2;4-j*5]),axesn,return,end
if nargin < 4,clr='r';end
if nargin < 3,sty='a';end
if nargin < 2,y=imag(x);x=real(x);end
a=0;if sty=='a',a=1;sty=[];end
if v<5,ty=[sty,clr];ty1=['-',clr];else,ty=[clr,sty];ty1=[clr,'-'];end
x=x(:);y=y(:);x=x';y=y';z1=zeros(1,length(x));zx=[z1;x];zy=[z1;y];
if ~isempty(sty), %ie sty ~= 'a'
if v > 3,
if sty=='.',plot(zx,zy,ty1,x,y,ty,'markersize',10),
else,plot(zx,zy,ty1,x,y,ty,'markersize',4),
end
else
plot(zx,zy,ty1,x,y,ty),
end
return
end
if v > 3,if ishold==0,plot(zx,zy,ty1);end,s=axis;
else,s=[min(x) max(x) min(y) max(y)];end
j=sqrt(-1);xx=.03*abs(s(2)-s(1));yy=.04*abs(s(4)-s(3));
if v > 3,ss=get(gca,'position');%sc=sqrt(ss(3)/ss(4));xx=xx/sc;yy=yy*sc;
xx=xx*0.5/ss(3);yy=yy*0.5/ss(4);
end
z=x*yy/xx+j*y;
zang=angle(z);x1=x-xx.*cos(zang-pi/8);x3=x-xx.*cos(zang+pi/8);
y1=y-yy.*sin(zang-pi/8);y3=y-yy.*sin(zang+pi/8);
xx=[x1;x;x3;x1];yy=[y1;y;y3;y1];plot(zx,zy,ty1,xx,yy,ty1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -