Как извлечь только точки данных из графика BodePlot?

Я пытаюсь исправить часть графика фазы в BodePlot, так как он не переносится правильно. И нет варианта, который я мог бы использовать для

Итак, вместо того, чтобы самому делать полный график (я могу это сделать, если потребуется), я думаю сначала создать BodePlot, захватить точки данных, выполнить перенос данных (один раз Я получаю данные x, y, остальное легко), затем мне нужно вернуть новый список точек в график, а затем использовать Show, чтобы отобразить его.

Часть, в которой я застрял, извлекает точек из FullForm. Я не могу найти правильный шаблон, чтобы сделать это.

Это то, к чему я до сих пор дошел:

hz=z/(z^2-z+0.3);
tf=TransferFunctionModel[hz,z,SamplingPeriod->2];
phasePlot=BodePlot[tf,{0.001,2 Pi},
       ScalingFunctions->{Automatic,{"Linear","Degree"}},PlotLayout->"List"][[2]]

enter image description here

Вы видите, как это не разворачивается на 180 градусов. Это чаще встречается в dsp, чем в Bode обертывания фазового графика. Вот как он «должен» выглядеть:

enter image description here

Итак, вот что я сделал:

 FullForm[phasePlot]
Graphics[List[
  List[List[], List[], 
   List[Hue[0.67, 0.6, 0.6], 
    Line[List[List[0.0010000243495554542, -0.2673870119911639], 
      List[0.0013659538057574799, -0.36521403872250247], 
      List[0.0017318832619595053, -0.46304207336414027],
      ....

Я вижу там данные (x, y) Но как их вытащить? Я пробовал это:

  Cases[FullForm[phasePlot], List[x_, y_] -> {x, y}, Infinity];

Но вышеупомянутое соответствует в дополнение к списку пунктов, другие вещи, которые мне не нужны d. Я пробовал много других вещей, но не смог получить только список точек.

Мне было интересно, знает ли кто-нибудь, как вытащить только точки (x, y) из приведенного выше графика. Есть ли лучший способ сделать это, кроме использования FullForm?

Спасибо

Обновление:

Я просто нашел сообщение здесь , в котором показано, как извлекать данные из графика. Поэтому я использовал его:

   points = Cases[Normal@phasePlot, Line[pts_] -> pts, Infinity]

6
задан Community 23 May 2017 в 10:32
поделиться