Как использовать касательную окружность в численном методе комплекснозначного дифференциального уравнения

Если решить уравнение

д г д т "=" я ю г

с начальным значением г ( 0 ) "=" 1 Вы получаете

г "=" е я ю т

который описывает окружность в комплексной плоскости с угловой скоростью ю . Если вы попытаетесь приблизить решение методом Эйлера, оно расходится, потому что

г 1 "=" г 0 + час ( я ю ) г 0 "=" ( 1 я час ю ) г 0

и

| г 1 | "=" | 1 я час ю | "=" 1 + ( час ю ) 2

для час , ю > 0 . Так же | г н + 1 | > | г н | для каждого н е Н .

Я пытаюсь придумать способы исправить это, так что | г н + 1 | | г н | и желательно с равенством. Я попытался использовать второй член ряда Тейлора, чтобы аппроксимация не была просто линейной аппроксимацией, но та же проблема сохранялась.

Мне приходит в голову, что лучшим методом может быть аппроксимация этого не многочленом, а окружностью. Я помню из расчета 3 соприкасающийся круг, но это было для кривой, параметризацию которой мы уже знали, поэтому я не уверен, смогу ли я использовать это. Другая мысль заключается в том, что вместо схемы

у н + 1 "=" у н + час у н

который движется от у н линейно, добавляя кратное час , я мог бы захотеть повернуть, используя сложное умножение, что-то вроде г н + 1 "=" г н р н е я ю н час где р н е р будет радиусом вращения, большим, когда уместна большая кривизна, и ю н контроль скорости и направления - опять же, конечно, час служит размером шага. Вероятно, мне нужно было бы что-то сделать, чтобы решить проблему определения центра вращения.

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

Ответы (1)

Вам понадобятся неявные методы для сохранения радиуса. Например, метод средней точки сохранит радиус, но не угловую скорость. Фактор есть 1 я час ю / 2 1 + я час ю / 2 так что его абсолютное значение равно 1 . Также исследуйте симплектические методы, такие как Верле, однако там действительная и мнимая части трактуются по-разному.

+1 для симплектических интеграторов. В этом простом случае может работать и симплектический метод Эйлера.
@Evgeny: Симплектический Эйлер работает не совсем так, как хотелось бы. Хотя орбиты останутся периодическими, они следуют эллипсам, а не кругу точного решения. С отклонением, пропорциональным величине шага.