資源簡介
電子通信專業的同學應該對這個很熟悉吧。
有源碼,有注釋

代碼片段和文件信息
clear
title(‘Smith?Chart‘)
hold?on;
axis([-1.11.1-1.11.1])
xlabel(‘uthe?real?component?of?reflection?coefficient‘)
ylabel(‘vthe?imaginary?component?of?reflection?coefficient‘)
axis?square
%以g為控制變數的部分?利用for?loop控制各圓(弧)的間隔,讓佈局美觀,也方便使用%
sita=0:pi/50:2*pi;
for?g=0:0.05:0.5
????radius=1/(g+1);
????plot(-(radius*cos(sita)+g/(g+1))-radius*sin(sita))
end
for?g=0.5:0.1:2
????radius=1/(g+1);
????plot(-(radius*cos(sita)+g/(g+1))-radius*sin(sita))
end
for?g=2:0.25:3
????radius=1/(g+1);
????plot(-(radius*cos(sita)+g/(g+1))-radius*sin(sita))
end
for?g=3:0.5:4
????radius=1/(g+1);
????plot(-(radius*cos(sita)+g/(g+1))-radius*sin(sita))
end
for?g=4:1:5
????radius=1/(g+1);
????plot(-(radius*cos(sita)+g/(g+1))-radius*sin(sita))
end
for?g=5:2.5:20
????radius=1/(g+1);
????plot(-(radius*cos(sita)+g/(g+1))-radius*sin(sita))
end
g=50;
radius=1/(g+1);
plot(-(radius*cos(sita)+g/(g+1))-radius*sin(sita))
%以b為控制變數的部分,利用for?loop控制各圓(弧)的間隔%
sita=0:pi/100:2*pi;
for?b=0.05:0.05:0.5
????radius=1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=0.5:0.1:2
????radius=1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=2:0.25:3
????radius=1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=3:0.5:4
????radius=1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=4:1:5
????radius=1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=5:2.5:20
????radius=1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=-0.05:-0.05:-0.5
????radius=-1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=-0.5:-0.1:-2
????radius=-1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=-2:-0.25:-3
????radius=-1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=-3:-0.5:-4
????radius=-1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=-4:-1:-5
????radius=-1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
for?b=-5:-2.5:-20
????radius=-1/b;
????plot(-(radius*cos(sita)+1)-(radius*sin(sita)+1/b)‘g‘)
end
%使用fill?function?把圓的外部填充為白色,只顯示?|reflection?coefficient|?1?的部分%
x=-1:0.01:1;
y1=(1-x.^2).^(1/2);
y2=-(1-x.^2).^(1/2);
fill([x1.11.1-1.1-1.1][y101.11.10]‘w‘)
fill([x1.11.1-1.1-1.1][y20-1.1-1.10]‘w‘)
%繪出u軸和v軸%
plot([00][-1.11.1]‘r‘)
plot([-1.11.1][00]‘r‘)
%添加標注%
%Conductance部分之標注%
text(0.8-0.02‘Conductance‘‘FontSize‘8);?
text(0.970.02‘0‘‘FontSize‘8);?
text(0.80.02‘0.1‘‘FontSize‘8);?
text(0.650.02‘0.2‘‘FontSize‘8);
text(0.520.02‘0.3‘‘FontSize‘8);
text(0.410.02‘0.4‘‘FontSize‘8);
text(0.310.02‘0.5‘‘FontSize‘8);?
text(-0.030.02‘1‘‘FontSize‘8);?
text(-0.360.02‘2‘‘FontSize‘8);?
text(-0.530.02‘3‘‘FontSize‘8);?
text(-0.620.02‘4‘‘FontSize‘8);?
text(-0.690.02‘5‘‘FontSize‘8);?
text(-0.930.02‘
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9151??2008-12-16?17:06??smithchart_impedance.m
?????文件???????9263??2008-12-16?17:07??smithchart_admittance.m
-----------?---------??----------?-----??----
????????????????18414????????????????????2
評論
共有 條評論