本篇文章将讲解用MATLAB绘画出一个任意个数圆的Smith圆图。

Smith圆图的组成

Smith圆图由反射系数圆、电阻圆、电抗圆组成。一般在情况下只显示电阻圆与电抗圆,方便观察图像。由下列归一化公式:

联立可得:


(1)为电阻圆,(2)为电抗圆

电阻圆

根据公式(1)我们按其参数方程形式,并以x代替Γr,以y代替Γi,以如下代码完成电阻圆的设计:

 theta=0:pi/100:2*pi;real=20;for  x1=0:1/real:1r=(1-x1)/x1;x=1/(r+1)*cos(theta)+r/(r+1); y=1/(r+1)*sin(theta);figure(1)plot(x,y,'-')hold on; axis equalend

我们将电阻圆按real个将Γ=1的圆等分割。其中 axis equal可保证X,Y间距相等,可画出漂亮的圆而非椭圆。以real=20为例,如下效果:

电抗圆

根据公式(2)我们按其参数方程形式,并以x代替Γr,以y代替Γi,以r代替x,以如下代码完成电抗圆的设计:

theta=0:pi/100:2*pi;
imag=15;
x=[-1 1];
y=[0 0];
plot(x,y,'-')
hold on;
for theta1=(pi+pi/(imag+1)):(pi/(imag+1)):(2*pi-pi/(imag+1))r=sin(theta1)/(1-cos(theta1));x=1/r*cos(theta)+1;y=1/r*sin(theta)+1/r;figure(1)plot(x,y,'-')hold on; axis([-1 1 -1 1])end    for theta1=0:(pi/(imag+1)):(pi-pi/(imag+1))r=sin(theta1)/(1-cos(theta1));x=1/r*cos(theta)+1;y=1/r*sin(theta)+1/r;figure(1)plot(x,y,'-')hold on; axis([-1 1 -1 1])end

为了画出的电抗圆的美观,我们这里采用了按Γ=1的圆将它的弧度分为2*imag等份,画出电抗圆。由Γ=1的圆各个弧度带入与公式(2)的参数方程联立最终得到r的值,最终得到电抗圆,再为美观,我们将X,Y的范围都限制在[1,1]。以image=15为例,如下效果:

整理

外面的部分我们是不需要的,我们选择将它覆盖,以微积分的思想,用fill函数将圆外的部分全部覆盖住。最后完成最终的代码:

close all; clear all; clc
theta=0:pi/100:2*pi;
real=20;
imag=15;
x=[-1 1];
y=[0 0];
plot(x,y,'-')
hold on; for x1=0:1/real:1r=(1-x1)/x1;x=1/(r+1)*cos(theta)+r/(r+1); y=1/(r+1)*sin(theta);figure(1)plot(x,y,'-')hold on; axis equalend  for theta1=(pi+pi/(imag+1)):(pi/(imag+1)):(2*pi-pi/(imag+1))r=sin(theta1)/(1-cos(theta1));x=1/r*cos(theta)+1;y=1/r*sin(theta)+1/r;figure(1)plot(x,y,'-')hold on; axis([-1 1 -1 1])end    for theta1=0:(pi/(imag+1)):(pi-pi/(imag+1))r=sin(theta1)/(1-cos(theta1));x=1/r*cos(theta)+1;y=1/r*sin(theta)+1/r;figure(1)plot(x,y,'-')hold on; axis([-1 1 -1 1])end    anglex={-1 -1 1 1};angley={1 -1 -1 1};
for i=1:4 for theta1=pi/2*i:pi/1000:pi/2*(i+1);x=cos(theta1); y=sin(theta1);x1=cos(theta1+pi/1000); y1=sin(theta1+pi/1000);fill([x,x1,anglex{i}],[y,y1,angley{i}],'b')end
end

最终以real=20,imag=15为例,最终效果图如下:

这是以我的理解写出的以MATLAB实现Smith圆图的绘制的代码,可能还是不够好,如有阅览到本文章的朋友,欢迎在评论区中,讨论指教一番。

使用MATLAB绘制Smith圆图相关推荐

  1. 微波课设 基于pyqt5+pyqtgraph的Smith圆图GUI程序设计

    学期末要做微波技术课设,老师要求设计一个GUI,和Smith圆图有关 然后选用python里面的pyqt5设计出一个交互界面. 思路很简单就是先用qtdesigner搭建框架生成python代码,再把 ...

  2. nyquist图怎么画matlab,用MATLAB绘制Nyquist图

    <用MATLAB绘制Nyquist图>由会员分享,可在线阅读,更多相关<用MATLAB绘制Nyquist图(9页珍藏版)>请在人人文库网上搜索. 1.用MATLAB绘制Nyqu ...

  3. matlab绘制圆,且求解两个圆的交点坐标

    前言 这里简单记录下对于matlab绘制圆,以及求解两圆交点的坐标的实现(包括C++). 一 绘制圆 circle.m文件: function [] = circle(x, y, r, color) ...

  4. matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹

    <实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...

  5. Matlab 绘制三维立体图(以地质异常体为例)

    Matlab 绘制三维立体图(以地质异常体为例) 参考文章: (1)Matlab 绘制三维立体图(以地质异常体为例) (2)https://www.cnblogs.com/yangwenbo214/p ...

  6. matlab绘制频散曲线,Matlab绘制频散曲线程序代码.docx

    Matlab绘制频散曲线程序代码.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  7. matlab绘制X,Y二维散点图并标出序号

    matlab绘制X,Y二维散点图并标出序号 标签: matlab 2016-11-22 12:20 193人阅读 评论(0) 收藏 举报  分类: matlab(1)  版权声明:本文为博主原创文章, ...

  8. 如何使用MATLAB绘制不同类型的二维图形

    如何使用MATLAB绘制不同类型的二维图形 听语音 | 浏览:360 | 更新:2014-11-30 18:10 | 标签:matlab 1 2 3 4 5 分步阅读 如何用MATLAB绘制各种二维图 ...

  9. 【新星计划】MATLAB绘制图形

    MATLAB绘图和图形功能,内容包括: 如何绘制二维条形图 如何绘制等值线 如何绘制三维图 MATLAB绘制条形图 MATLAB 中使用 bar 命令绘制一个二维条形图. 具体示例 如果有一个包含10 ...

  10. 2021-02-28 Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图

    Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图 function [t,frequency,f_spectrum]=fft_s(y,windowlength,Fs) % 输入 : % ...

最新文章

  1. Python 对图像进行base64编码及解码读取为numpy、opencv、matplot需要的格式
  2. 关于ADAM中自定义Class Schema后不能创建该Class的实例的问题
  3. iOS自定义简易刷新视图(仿MJRefresh)
  4. 直播报名 | NVIDIA公开课:Style-Gan的架构与实现
  5. 痛并快乐着看火箭比赛
  6. CXF学习(4) 处理无法自动转换的复合数据类型
  7. 猜数(二分、线段树)
  8. 漫谈图神经网络 (三)
  9. vscode格式化关于符合eslint检测语法配置
  10. 基于Transformer的通用视觉架构:Swin-Transformer带来多任务大范围性能提升
  11. matplotlib设置线条的样式、颜色
  12. POJ 3168 排序+扫描
  13. nodejs学习文档(一) 认识node.js
  14. MVC的Controller-Action布局:单独的创建/编辑页面还是创建/编辑/查看一体的页面?...
  15. redis的info
  16. Linux时间子系统之五:低分辨率定时器的原理和实现
  17. dual mysql 获取序列_如何获取 MySQL 插入数据的自增 ID
  18. maven:《Maven实战》读书笔记
  19. 2021年危险化学品经营单位安全管理人员考试及危险化学品经营单位安全管理人员考试资料
  20. java图书管理系统的简单实现

热门文章

  1. java整型转换成字符串_java整型转换成字符串
  2. 计算机桌面快捷方式误删了,电脑把桌面快捷方式删除了怎么办?电脑快捷方式删除了的恢复方法...
  3. 数电课设—智力抢答器(五路抢答器),已在Proteus8.9版本中仿真通过
  4. 学生a3制图标题栏尺寸手绘_机械制图基本知识点
  5. 移动电商平台弹性架构案例
  6. 计算机视觉 --基于opencv实现证件照换底色、翻转
  7. 路由侠(连接外网工具) v1.0 官方最新版
  8. Reflector使用详解,把DLL文件转换为.cs文件
  9. 创造与魔法服务器多久维护一次,创造与魔法维护大概多久 | 手游网游页游攻略大全...
  10. Mysql内连接和外连接的区别