Если решить уравнение
с начальным значением Вы получаете
который описывает окружность в комплексной плоскости с угловой скоростью . Если вы попытаетесь приблизить решение методом Эйлера, оно расходится, потому что
и
для . Так же для каждого .
Я пытаюсь придумать способы исправить это, так что и желательно с равенством. Я попытался использовать второй член ряда Тейлора, чтобы аппроксимация не была просто линейной аппроксимацией, но та же проблема сохранялась.
Мне приходит в голову, что лучшим методом может быть аппроксимация этого не многочленом, а окружностью. Я помню из расчета 3 соприкасающийся круг, но это было для кривой, параметризацию которой мы уже знали, поэтому я не уверен, смогу ли я использовать это. Другая мысль заключается в том, что вместо схемы
который движется от линейно, добавляя кратное , я мог бы захотеть повернуть, используя сложное умножение, что-то вроде где будет радиусом вращения, большим, когда уместна большая кривизна, и контроль скорости и направления - опять же, конечно, служит размером шага. Вероятно, мне нужно было бы что-то сделать, чтобы решить проблему определения центра вращения.
Я знаю, что то, что я сделал, не совсем правильно, потому что мне также пришлось бы учитывать центр вращения, но прежде чем идти по этому пути, я хотел знать, возможно ли то, что я пытаюсь сделать. Большое препятствие, которое я не могу понять, это то, как я могу решить и на каждом этапе, используя только производную информацию. Если я правильно понимаю, дает только линейную аппроксимацию направления комплексного числа, как с вектором.
Вам понадобятся неявные методы для сохранения радиуса. Например, метод средней точки сохранит радиус, но не угловую скорость. Фактор есть так что его абсолютное значение равно . Также исследуйте симплектические методы, такие как Верле, однако там действительная и мнимая части трактуются по-разному.
Евгений
Лутц Леманн