仍然可以使用Matlab的波德函数进行幅度和相位响应?

问题描述 投票:1回答:2

我具有系统的幅度和相位响应。现在,我可以使用semilogx(frequency,abs(response))(幅度)和semilogx(frequency,angle(response))(相位)轻松绘制波特图。但是我想知道是否可以使用Matlab的bode函数。如bode(frequency,response)

我喜欢Matlab的bode函数的原因主要不是因为它可以计算幅度和相位响应,还因为它提供了2个我真正喜欢的漂亮的绘图函数。

  1. 您只能选择单个输入输出的响应。
  2. 您可以选择仅显示例如幅度或相位响应。

那么有人知道这是否可能吗?我猜想某个地方有个函数可以处理bode函数的绘图功能。


[我发现可以使用h = resppack.bodeplot([n,m]);创建n x m的波特图,并且可以使用h.plot(freq',abs(resp)',angle(resp)');绘制MIMO响应

但是我还没有能力选择响应或选择仅显示幅度或相位响应。

matlab matlab-figure frequency
2个回答
1
投票

您可以使用frd根据频率响应创建频率响应数据模型。为此,您将需要根据数据使用freqz创建频率响应。然后,您应该可以像平常一样使用bode(frd)


0
投票

我对此问题有一个补充,我做了同样的事情,但没有得到结果-我的frd模型G4 =

Frequency(rad/s)            Response       
----------------            --------       
      0.0100        -2.713e+00 + 5.146e-02i
      0.0121        -2.720e+00 + 5.639e-02i
      0.0146        -2.729e+00 + 6.149e-02i
      0.0176        -2.739e+00 + 6.666e-02i
      0.0212        -2.751e+00 + 7.174e-02i
      0.0256        -2.765e+00 + 7.649e-02i
      0.0309        -2.783e+00 + 8.057e-02i
      0.0373        -2.804e+00 + 8.351e-02i
      0.0450        -2.831e+00 + 8.463e-02i
      0.0543        -2.865e+00 + 8.295e-02i
      0.0655        -2.909e+00 + 7.706e-02i
      0.0791        -2.965e+00 + 6.485e-02i
      0.0954        -3.039e+00 + 4.311e-02i
      0.1151        -3.137e+00 + 6.669e-03i
      0.1389        -3.271e+00 - 5.320e-02i
      0.1677        -3.458e+00 - 1.524e-01i
      0.2024        -3.726e+00 - 3.227e-01i
      0.2442        -4.118e+00 - 6.347e-01i
      0.2947        -4.698e+00 - 1.270e+00i
      0.3556        -5.425e+00 - 2.757e+00i
      0.4292        -4.917e+00 - 6.320e+00i
      0.5179         1.125e+00 - 7.901e+00i
      0.6251         3.422e+00 - 3.434e+00i
      0.7543         2.539e+00 - 1.228e+00i
      0.9103         1.713e+00 - 3.932e-01i
      1.0985         1.145e+00 - 3.080e-02i
      1.3257         7.444e-01 + 1.356e-01i
      1.5999         4.514e-01 + 1.938e-01i
      1.9307         2.453e-01 + 1.826e-01i
      2.3300         1.178e-01 + 1.370e-01i
      2.8118         5.112e-02 + 8.863e-02i
      3.3932         2.085e-02 + 5.255e-02i
      4.0949         8.261e-03 + 2.981e-02i
      4.9417         3.261e-03 + 1.660e-02i
      5.9636         1.307e-03 + 9.195e-03i
      7.1969         5.422e-04 + 5.099e-03i
      8.6851         2.376e-04 + 2.838e-03i
     10.4811         1.121e-04 + 1.587e-03i
     12.6486         5.744e-05 + 8.915e-04i
     15.2642         3.177e-05 + 5.030e-04i
     18.4207         1.863e-05 + 2.849e-04i
     22.2300         1.134e-05 + 1.620e-04i
     26.8270         7.044e-06 + 9.235e-05i
     32.3746         4.410e-06 + 5.279e-05i
     39.0694         2.764e-06 + 3.025e-05i
     47.1487         1.727e-06 + 1.736e-05i
     56.8987         1.073e-06 + 9.986e-06i
     68.6649         6.636e-07 + 5.752e-06i
     82.8643         4.079e-07 + 3.317e-06i
    100.0000         2.494e-07 + 1.916e-06i

连续时间频率响应。

Hovever,如果我要波特(G4)

我知道-

使用DynamicSystem / bode时出错(第95行)||的操作数和&&运算符必须可转换为逻辑标量值。

有人可以帮我这个忙吗?

© www.soinside.com 2019 - 2024. All rights reserved.