• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: matlab  阻抗圆图  

资源简介

用来画斯密斯圆图的程序, 很不错。 需要的下载吧

资源截图

代码片段和文件信息

function[A]=smithch(argzKmla);
%用法一:A=smithch(z1)是已知归一化特性阻抗z1
%用法二:A=smithch([VSWR zmin Zc] 是已知驻波比、电压波节点的位置zmin(单位是波长)和特性阻抗Zc
if nargin<4; la=1/8; end;    %1/8波长
if nargin<3; Km=0; end;
if nargin<1; arg=1; end;
if length(arg)==3;
    z1=arg(1); zmin=arg(2); Zc=arg(3); Km=0; ph=(1-zmin*4)*pi;     %arg()是取幅角
    gm=(z1-1)/(z1+1)*exp(-j*ph); z=(1+gm)/(1-gm); Kz=1;   %gm是反射系数
else;
    z1=arg(1); Zc=1; Kz=0;
end;
%..................................................................绘制圆图
t=(0:360)*pi/180; x=cos(t); y=sin(t); r=[0.99 1.02];
plot(xy‘k‘); hold on; whitebg(‘w‘); axis equal; axis off;   %绘制最外的等圆,whitebg为用色风格设置
H=plot([-1.02 1.02][0 0]); set(H‘color‘[0 0.5 0]);
for i=1:6;                                                   %将外圆等分为24份
    u=r*cos(pi*i/12); v=r*sin(pi*i/12);
    plot(uv‘k‘u-v‘k‘-uv‘k‘-u-v‘k‘);
end;
text(-1.060‘0‘‘fontname‘‘arial‘‘fontsize‘10 ...     %给主要的4个分点做标注
    ‘color‘[0 0 0.5]‘fonta‘‘italic‘);
text(-0.061.04‘0.125‘‘fontname‘‘arial‘‘fontsize‘10 ...
    ‘color‘[0 0 0.5]‘fonta‘‘italic‘);
text(1.030‘0.25‘‘fontname‘‘arial‘‘fontsize‘10 ...
    ‘color‘[0 0 0.5]‘fonta‘‘italic‘);
text(-0.06-1.04‘0.375‘‘fontname‘‘arial‘‘fontsize‘10 ...
    ‘color‘[0 0 0.5]‘fonta‘‘italic‘);
i=150:170; xi=x(i)*1.1; yi=y(i)*1.1;
H=plot([-1 xi][0.5 yi]‘k‘[-1 xi][-0.5 -yi]‘k‘);   %绘制向源和向负载箭头
text(-10.78‘向源‘‘fontname‘‘arial‘‘fontsize‘9);   %箭头类型标注
text(-1-0.7‘向负载‘‘fontname‘‘arial‘‘fontsize‘9);
plot(0.5*x+0.50.5*y‘b‘);       %绘制r=1的圆,因为外圆半径为1,所以这里用0.5做半径
text(0.020.33‘1‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
if Km<1;
    i=1:10:361; xi=x(i); yi=y(i);
    gm=1/3; H=plot(gm*xigm*yi‘:‘); set(H‘color‘[0 0.5 0]);    %绘制模值为1/3和2/3的反射系数圆
    gm=2/3; H=plot(gm*xigm*yi‘:‘); set(H‘color‘[0 0.5 0]);
text(-0.230.19‘1/3‘‘fontname‘‘arial‘‘fontsize‘10 ...
     ‘color‘[0 0.5 0]);
text(-0.580.48‘2/3‘‘fontname‘‘arial‘‘fontsize‘10 ...
     ‘color‘[0 0.5 0]);
a=1/(1+2); plot(a*x+1-aa*y‘b‘);   %r=2,绘制电阻圆图
a=1/(1+0.5); plot(a*x+1-aa*y‘b‘);  %r=0.5,绘制电阻圆图
text(0.360.033‘2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
text(-0.420.033‘0.5‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
text(-0.970.033‘0‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
xx=x+1; yy=y+1; I=find((xx.*xx+yy.*yy)<=1.001);   %用find函数返回所有小于等于1.001的圆图
plot(xx(I)yy(I)‘r‘xx(I)-yy(I)‘m‘);   %x=-11,绘制电抗圆图
a=1/2; xx=a*x+1; yy=a*y+a; I=find((xx.*xx+yy.*yy)<=1.001);
plot(xx(I)yy(I)‘r‘xx(I)-yy(I)‘m‘); %x=-22,电抗圆图
a=1/0.5; xx=a*x+1; yy=a*y+a; I=find((xx.*xx+yy.*yy)<=1.001);
plot(xx(I)yy(I)‘r‘xx(I)-yy(I)‘m‘);    %x=-0.5 0.5,电抗圆图
text(0.530.79‘2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘r‘);
text(-0.040.95‘1‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘r‘);
text(-0.630.72‘1/2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘r‘);
text(0.52-0.79‘-2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘m‘);
text(-0.05-0.95‘-1‘‘fontnam

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        9091  2009-04-09 20:37  smithch.m

评论

共有 条评论