Решение комплекснозначных дифференциальных уравнений и работа с ветвями

Я собираюсь решить dx/dt=sqrt(1+(i*x)^3) для начального условия x=-2-2i и построить график реальной и мнимой частей x. Я ожидаю получить замкнутый контур. Однако то, что я получаю, является лишь неполной частью фактического сюжета. Может ли кто-нибудь помочь мне решить эту проблему в Matlab или Mathematica? заранее спасибо


person user12077    schedule 05.06.2014    source источник


Ответы (1)


Найдите секунду и представьте, что кто-то, кто не заглядывал вам через плечо, смотрит на ваш экран и читает исходное описание проблемы. Как много они могли бы понять только и только с учетом вашего письменного описания выше?

Теперь, это близко к решению, которое вы, возможно, видите?

In[1]:= f=x[t]/.NDsolve[{x'[t]==Sqrt[1+(I x[t])^3],x[0]== -2-2I} , х[t], {t,0,1.2}][[1]]; График[{Re[f], Im[f]}, {t, 0, 1.2}]

NDSolve::mxst: Максимальное количество шагов в 10000, достигнутое в точке t == 1.08993270437`. >>

Out[2]= ...PlotSnipped...

где решение, кажется, взрывается в 1.09? И зачем он там взрывался? Что, если ваш сюжет становится незавершенным?

Я угадал диапазон? Я угадал неправильное начальное условие? Не знаю.

Он еще не пытается сделать ContourPlot, он просто пытается увидеть, как может выглядеть решение.

person Bill    schedule 05.06.2014
comment
Спасибо за ваш ответ. Вы правильно поняли проблему, за исключением того, что я ожидаю построить Re[f] по оси x и Im[f] по оси y. вы также можете попробовать его для более простого и аналитически решаемого случая, когда dx/dt=sqrt[1-x^2] и x снова является комплексным параметром. Решив это уравнение, вы получите эллипс. но для исходной задачи есть еще одна сложность, и я думаю, что она связана с разрезами ветвей в комплексной плоскости. знаете ли вы практический способ справиться с ними в Mathematica? - person user12077; 07.06.2014
comment
Я так понимаю, вы пытаетесь получить презентацию. Я пытаюсь найти правильное решение и оставляю его вам. Этот DSolve[x'[t] == ​​Sqrt[1 + (I x[t])^3], x[t], t] дает решение, если я не включаю начальное условие, которое у вас есть, и вы можете f = InverseFunction[Hypergeometric2F1[1/3,1/2,4/3,I #1^3] #1 &][t]; Plot[{Re[f], Im[f]}, {t, -2, 2}], но я не думаю, что мы получили правильное решение, чтобы вы могли начать думать о презентации. - person Bill; 07.06.2014