2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 19:20 
Аватара пользователя
Так получилось, что не преподавал ОДУ несколько лет. И тут выяснилось что хорошие онлайн плоттер либо исчезли, либо испакостили.

Вольфрам строили фазовый портрет системы
$\begin{equation*}
\left\{\begin{aligned}
&x'_t = -4y^3+4y \\
&y'_t = -2x-2x^2
\end{aligned}\right.
\end{equation*}$
через
Код:
StreamPlot[{-4 y^3 + 4 y, -2 x - 2 x^2 }, {x, -3, 3}, {y, -3, 3},
AxesLabel -> {x, y[x]}, Axes -> True, VectorPoints -> 30,
VectorScale -> {Tiny, Automatic, None}, StreamPoints -> 18,
StreamStyle -> {Black, "Line"}]

и получается следующий уродец. Как улучшить? А как сделать с Матлабом?


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 20:24 
Аватара пользователя
Red_Herring в сообщении #1624097 писал(а):
и получается следующий уродец.
Так не лучше?
Вложение:
Stream.png
Код:
StreamPlot[{-4 y^3 + 4 y, -2 x - 2 x^2}, {x, -3, 3}, {y, -3, 3},
AxesLabel -> {x, y[x]}, Axes -> True, StreamColorFunction -> None,
Mesh -> None, StreamStyle -> Blue, FrameStyle -> Gray,
Background -> LightGray, PerformanceGoal -> "Quality"]


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 21:34 
Аватара пользователя
amon в сообщении #1624102 писал(а):
Так не лучше?

Безусловно лучше. Вероятно МатЛаб дал бы ещё лучший результат--но сойдет. Спасибо!

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 21:58 
Аватара пользователя
Red_Herring в сообщении #1624105 писал(а):
Вероятно МатЛаб дал бы ещё лучший результат

Насколько помню, матлаб не умеет гнутые стрелки...

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 22:30 
Аватара пользователя
Ну вот такое было бы идеальным.

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 00:24 
Аватара пользователя
Red_Herring в сообщении #1624111 писал(а):
Ну вот такое было бы идеальным
До идеала не дотягивает, но похоже:
Вложение:
Stream1.png
Код:
StreamPlot[{-4 y^3 + 4 y, -2 x - 2 x^2}, {x, -3, 3}, {y, -3, 3},
AxesLabel -> {x, y[x]}, Axes -> True, VectorPoints -> 12,
VectorScale -> {Tiny}, StreamPoints -> Fine,
StreamColorFunction -> None, VectorColorFunction -> None,
StreamStyle -> {Black, "Line"}, VectorStyle -> GrayLevel[0.6]]


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 02:52 
Аватара пользователя
Red_Herring в сообщении #1624111 писал(а):
Ну вот такое было бы идеальным

Не годится совсем?
Изображение

-- 28.12.2023, 02:01 --

можно плотнее, конечно. Стрелок не знаю как здесь.
Изображение

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 03:24 
Аватара пользователя
Combat Zone в сообщении #1624132 писал(а):
Не годится совсем?

Тоже хорошо. Источник?

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 03:28 
Аватара пользователя
https://github.com/cekdahl/PhasePortrait
Может, кому-нибудь удастся апгрейдить его на предмет стрелок.
Синтаксис ненапряжный в итоге, например, у первой картинки
Код:
PhasePortrait[{x'[t] == 4 y[t] - 4 y[t]^3,   y'[t] == -2 x[t] - x[t]^2}, {x, y}, t, {{-5, -5}, {5, 5}},
PortraitDensity -> 16]


У второй плотность 35 и масштаб другой.

-- 28.12.2023, 02:53 --

Только коэффициенты не те, думаю, что ж это особые точки съехали. Сейчас должно быть правильно:
Изображение

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 09:05 
Аватара пользователя

(Оффтоп)

Red_Herring в сообщении #1624097 писал(а):
Как улучшить?

Работа не камень, можно и бросить.
https://ru.wikipedia.org/wiki/Гамильтонов_граф
Изображение

 
 
 
 Posted automatically
Сообщение28.12.2023, 11:16 
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Околонаучный софт»
Причина переноса: тематика.

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 13:14 
Чтобы пририсовать стрелочки к варианту из пакета
https://github.com/cekdahl/PhasePortrait
можно добавить замену
Код:
tmpplot = PhasePortrait[{x'[t] == 4 y[t] - 4 y[t]^3,  y'[t] == -2 x[t] - x[t]^2}, {x, y}, t, {{-5, -5}, {5, 5}}, PortraitDensity -> 16,
PlotStyle -> Directive[Blue], Frame -> True, AxesLabel -> {x, y[x]}, Background -> Lighter[Gray, 0.75]];

plot=tmpplot /. Line[x_] :> {Arrowheads[Table[.03, {5}]], Arrow[x]}


Местами выглядит криво, но лучше чем отсутствие.
Изображение

 
 
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 14:20 
Аватара пользователя
Red_Herring в сообщении #1624111 писал(а):
Ну вот такое
было бы идеальным.
Лучше, чем так
Вложение:
Stream3.png
из Математики вряд ли можно вытащить.
Код:
StreamPlot[{-4 y^3 + 4 y, -2 x - 2 x^2}, {x, -3, 3}, {y, -3, 3},
AxesLabel -> {x, y[x]}, Axes -> True, VectorPoints -> 12,
VectorScale -> {Tiny}, StreamPoints -> {17, 0.004, 100},
StreamColorFunction -> None, VectorColorFunction -> None,
StreamStyle -> {Black, "Line"}, VectorStyle -> GrayLevel[0.6]]


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group