Как рассчитать и построить мгновенную фазу в Mathematica - PullRequest
3 голосов
/ 15 февраля 2011

Мне бы хотелось получить график мгновенной разности фаз между частотно-качающимся приводом и нелинейным генератором, которым он управляет. x [t] ниже - мгновенное смещение осциллятора, а plotx - график.

Спасибо, Кэри

s =
 NDSolve[{x''[t] + x[t] - 0.167 x[t]^3 == 
    0.005 Cos[t - 0.5*0.0000652*t^2], x[0] == 0, x'[0] == 0}, 
  x, {t, 0, 3000}, MaxSteps -> 35000]

plotx = Plot[Evaluate[x[t] /. s], {t, 0, 3000}, PlotPoints -> 10000, 
  Frame -> {True, True, False, False}, FrameLabel -> {"t", "x"}, 
  FrameStyle -> Directive[FontSize -> 15], PlotLabel -> "(a)", 
  Axes -> False]

Ответы [ 2 ]

3 голосов
/ 15 февраля 2011

(Ответ, дубль 2)

Вы можете получить разумное приближение фазы с помощью

f[tt_?NumericQ] := -(ArcTan @@ ({x[t], x'[t]}/
    Sqrt[x[t]^2 + x'[t]^2]) /. s[[1]]) /. t -> tt

Вот несколько сюжетов. Сначала мы показываем условия вождения и результат вместе. Это указывает на то, что они немного не в фазе.

plotx2 = Plot[
  Evaluate[{x[t], Cos[t - 0.5*0.0000652*t^2]/5} /. s], {t, 0, 100}, 
  Frame -> {True, True, False, False}, FrameLabel -> {"t", "x"}]

enter image description here

Теперь мы покажем две фазы вместе. На этот раз я нанесу немного другой диапазон.

phaseangles = 
 Plot[{f[t], Mod[t - 0.5*0.0000652*t^2, 2*Pi, -Pi]}, {t, 100, 120}, 
  Frame -> {True, True, False, False}, FrameLabel -> {"t", "x"}]

enter image description here

В последний раз мы показываем разности фаз.

phasediffs = 
 Plot[{f[t] - Mod[t - 0.5*0.0000652*t^2, 2*Pi, -Pi]}, {t, 100, 120}, 
  Frame -> {True, True, False, False}, FrameLabel -> {"t", "x"}]

enter image description here

Возможно, я не согласен с чем-то дополнительным (эти термины Mod [] надоедают), но это должно дать представление о том, как можно действовать.

Даниэль Лихтблау Wolfram Research

1 голос
/ 15 февраля 2011

Я бы очень внимательно посмотрел на метод усреднения . В реализации Строгаца найдены как средняя огибающая, так и фаза нелинейного осциллятора. Поскольку вы ищете что-то, выходящее за рамки первого заказа, я бы подумал посмотреть на эту бумагу из Военно-воздушной академии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...