当前位置:首页 » 《资源分享》 » 正文

MATLAB绘图——波特图

25 人参与  2024年12月30日 08:02  分类 : 《资源分享》  评论

点击全文阅读


前言

        波特图作为传递函数分析中最常用的手段,讨论如何使用MATLAB绘制参数可变的波特图具有实际应用的意义。特别是在实验报告,期刊论文等中,常需要进行波特图的绘制,涉及多个传递函数的对比波特图等。常用的绘图函数在图线的颜色,线形,线宽的调整上存在不便,本文给出一些波特图绘制的手段。

目录

前言

1基础的波特图绘制

2.bode()相关的绘图函数

​编辑3.bodeoptions

4.多曲线共同绘制

5.曲线完全自定义修改

6.进一步问题


1基础的波特图绘制

        采用一个简单的三阶系统作为示例,基础的波图图绘制仅需采用bode()函数,输入系统的传递函数即可生成对应的波特图。

Gp=tf(1,[4e-9 4e-7 1])*tf(1,[0.001 1]);figure;bode(Gp);

2.bode()相关的绘图函数

        bode()函数相关的衍生有bodeplot()函数,bodemag()函数。前者与bode()函数的应用相同,后者可以单独得到幅值响应图像。如果需要单独得到相位响应函数则需要采用bode()函数的返回值得到相位数据后自行绘制。

Gp=tf(1,[4e-9 4e-7 1])*tf(1,[0.001 1]);figure;subplot(1,2,1);bodeplot(Gp);subplot(1,2,2);bodemag(Gp);

3.bodeoptions

        bodeoptions中提供了常见的波特图绘制设置,常用的设置主要有两个,一个是FreqUnits,其能够设置横坐标的类型,可选频率Hz与角频率rad/s的单位。另一个是PhaseWrapping,其为相位绕组设置,选择相位绕组后相位响应的范围为-180°至180°,超过范围的相位会以绕组的形式呈现。特别用在高阶系统,其经常出现过大的相位变化,不利于观察特征频段,故采用绕组形式。

op = bodeoptions;op.FreqUnits = 'Hz';op.PhaseWrapping = 'on';Gp=tf(1,[4e-9 4e-7 1])*tf(1,[0.001 1]);figure;bode(Gp,op);

4.多曲线共同绘制

        bode()函数提供了多系统绘制的结构,仅需要排列多个系统的传函即可,同时针对图线的颜色,线形和标记等提供了同plot()函数一样的快捷设置字符串。然后其只能选择快捷设置的提供的颜色选项以及无法改变线宽有待优化。

        快捷设置字符串的查找表参考连接中plot()函数的说明

二维线图 - MATLAB plot - MathWorks 中国icon-default.png?t=N7T8https://ww2.mathworks.cn/help/matlab/ref/plot.html#btzitot_sep_mw_3a76f056-2882-44d7-8e73-c695c0c54ca8

op = bodeoptions;op.FreqUnits = 'Hz';op.PhaseWrapping = 'on';Gp=tf(1,[4e-9 4e-7 1])*tf(1,[0.001 1]);Gp1=tf(1,[4e-8 4e-6 1])*tf(1,[0.001 1]);figure;bode(Gp,'b-',Gp1,'r--',op);

5.曲线完全自定义修改

        在matlab的figure中能够完全修改绘图参数,记录画图的figure,根据其下的children子集就能找到绘图区Axes,在绘图区的子集中能够到对象组Group,Group的子集即为绘图的曲线。通过子集探索即可找到对应的图线进行自定义修改包括RGB颜色,线形,粗细等。

op = bodeoptions;op.FreqUnits = 'Hz';op.PhaseWrapping = 'on';Gp=tf(1,[4e-9 4e-7 1])*tf(1,[0.001 1]);Gp1=tf(1,[4e-8 4e-6 1])*tf(1,[0.001 1]);f1=figure;bode(Gp,Gp1,op);

op = bodeoptions;op.FreqUnits = 'Hz';op.PhaseWrapping = 'on';Gp=tf(1,[4e-9 4e-7 1])*tf(1,[0.001 1]);Gp1=tf(1,[4e-8 4e-6 1])*tf(1,[0.001 1]);f1=figure;bode(Gp,Gp1,op);f1.Children(2).Children(1).Children.LineWidth=2;f1.Children(3).Children(1).Children.LineWidth=2;f1.Children(2).Children(1).Children.Color=[166, 64, 54]/255;f1.Children(3).Children(1).Children.Color=[166, 64, 54]/255;f1.Children(2).Children(1).Children.LineStyle='--';f1.Children(3).Children(1).Children.LineStyle='--';f1.Children(2).Children(2).Children.LineWidth=3;f1.Children(3).Children(2).Children.LineWidth=3;f1.Children(2).Children(2).Children.Color=[65, 130, 164]/255;f1.Children(3).Children(2).Children.Color=[65, 130, 164]/255;

6.进一步问题

        使用过程中发现标签显示不正常,尝试在f1的子集中寻找legend相关内容,legend由标签符号,标签文本组成,在其子集中更改标签符号的线形和线宽

%n根据实际figure子集内容选择f1.Children(n).EntryContainer.Children(2).Children(1).Transform.Children.Children.LineStyle='--';f1.Children(n).EntryContainer.Children(2).Children(1).Transform.Children.Children.LineWidth=1;

        通过该种方式修改以后,在figure中的显示得到修改,然而通过figure进行保存,标签样式回归之前没修改的样子,无法保存。尝试采用print()函数进行保存

print(f1, 'myfigure.png', '-dpng', '-r300');

         该方式目前能解决问题,但是过程过于繁琐,后续继续探索出现的该问题。

        (更新中)


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/209046.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 新雪藏旧事全文全文(商云萝周砚京)全文免费阅读无弹窗大结局_(新雪藏旧事全文小说免费阅读)最新章节列表_笔趣阁(新雪藏旧事全文) -
  • 在线免费小说重生七零替嫁:不嫁教授,嫁军官_乔珊珊乔婉月新热门小说_热门小说乔珊珊乔婉月
  • 免费小说《冯云漪厉晋泽》已完结(冯云漪厉晋泽)热门小说大结局全文阅读笔趣阁
  • 祁兰湘邵黎晖小说_祁兰湘邵黎晖完整版大结局小说免费阅读
  • 完整免费小说老公心疼青梅将她留宿新房,却将怀孕的我赶出家门(乔玥傅慎行姜禾)_老公心疼青梅将她留宿新房,却将怀孕的我赶出家门(乔玥傅慎行姜禾)完本小说免费阅读(乔玥傅慎行姜禾)
  • 新雪藏旧事:结局+番外+完结免费小说在线阅读_小说完结推荐新雪藏旧事:结局+番外+完结商云萝周砚京热门小说
  • 初逢青山梦长安(顾怀瑾沈书妤)阅读 -
  • 无删减版《绝对权力:从天崩开局走上官途巅峰》在线免费阅读
  • 《绝对权力:从天崩开局走上官途巅峰》小说在线试读,《绝对权力:从天崩开局走上官途巅峰》最新章节目录
  • 裴泽苏星辰何娇(满目星辰不及你小说)精彩章节在线阅读
  • 男女主人公裴泽苏星辰何娇小说满目星辰不及你在线免费阅读
  • 太子妃表姐失手摔死八胎龙宝后小说阅读太子妃表姐失手摔死八胎龙宝后琳禾宋淮最新章节列表

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1