在matlab中更改Y轴限制波特图

时间:2017-11-03 16:14:56

标签: matlab frequency-analysis

我使用加速度计测量了频率响应。现在我想在MATLAB中使用FRD对象分析数据。

当我尝试使用MATLAB的bodeplot函数绘制频率响应并使用ylim更改幅度图的y轴限制时,幅度和相位图的y轴限制都会发生变化。

有没有办法只更改幅度的y轴限制,同时保持相位的Y轴限制不变?

编辑: 该问题与图表的评估或其解释无关,而是与改变波特图中特定轴的极限有关。我在MATLAB中寻找一个特定的函数/命令。

kpg987完全回答了我的问题。

1 个答案:

答案 0 :(得分:3)

这可以在创建波德图的句柄时完成。顺便提一下,MATLAB已经在这里提供了一个很好的例子:https://www.mathworks.com/help/control/ug/customizing-response-plots-from-the-command-line.html

我提供了一个多输入,多输出(MIMO)系统来说明其工作原理。假设您已经拥有一个名为sys_Orig

的系统
Handleplot=bodeplot(sys_Orig); %create a handle
p=getoptions(Handleplot); %get the handle options

看看我们最初的波德情节:

enter image description here

假设我现在想要将左上角图的y轴限制从[-50 50]更改为[-100 50],我该怎么做?在命令行中输入p以获得可调节绘图参数的峰值:

p =
                       Title: [1x1 struct]
                      XLabel: [1x1 struct]
                      YLabel: [1x1 struct]
                   TickLabel: [1x1 struct]
                        Grid: 'off'
                   GridColor: [0.1500 0.1500 0.1500]
                        XLim: {2x1 cell}
                    XLimMode: {2x1 cell}
                        YLim: {4x1 cell}
                    YLimMode: {4x1 cell}
                  IOGrouping: 'none'
                 InputLabels: [1x1 struct]
                OutputLabels: [1x1 struct]
                InputVisible: {2x1 cell}
               OutputVisible: {2x1 cell}
                   FreqUnits: 'rad/s'
                   FreqScale: 'log'
                    MagUnits: 'dB'
                    MagScale: 'linear'
                  MagVisible: 'on'
             MagLowerLimMode: 'auto'
                 MagLowerLim: 0
                  PhaseUnits: 'deg'
                PhaseVisible: 'on'
               PhaseWrapping: 'off'
               PhaseMatching: 'off'
           PhaseMatchingFreq: 0
          PhaseMatchingValue: 0
    ConfidenceRegionNumberSD: 1

请注意,Ylim是一个4x1的单元格。 4是因为我们有四行图。   索引您想要更改的行。在这种情况下,它是我们的第一行,第1行:

p.Ylim{1}= [-100 50]; %Setting the y-axis limits
setoptions(Handleplot,p); %update your plot

enter image description here