2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 19:20 
Заслуженный участник
Аватара пользователя


31/01/14
11304
Hogtown
Так получилось, что не преподавал ОДУ несколько лет. И тут выяснилось что хорошие онлайн плоттер либо исчезли, либо испакостили.

Вольфрам строили фазовый портрет системы
$\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"}]

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


Вложения:
SixB.pdf [698.54 Кб]
Скачиваний: 205
 Профиль  
                  
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 20:24 
Заслуженный участник
Аватара пользователя


04/09/14
5255
ФТИ им. Иоффе СПб
Red_Herring в сообщении #1624097 писал(а):
и получается следующий уродец.
Так не лучше?
Вложение:
Stream.png
Stream.png [ 130.49 Кб | Просмотров: 0 ]
Код:
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 
Заслуженный участник
Аватара пользователя


31/01/14
11304
Hogtown
amon в сообщении #1624102 писал(а):
Так не лучше?

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

 Профиль  
                  
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение27.12.2023, 21:58 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Red_Herring в сообщении #1624105 писал(а):
Вероятно МатЛаб дал бы ещё лучший результат

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

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


31/01/14
11304
Hogtown
Ну вот такое было бы идеальным.

 Профиль  
                  
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 00:24 
Заслуженный участник
Аватара пользователя


04/09/14
5255
ФТИ им. Иоффе СПб
Red_Herring в сообщении #1624111 писал(а):
Ну вот такое было бы идеальным
До идеала не дотягивает, но похоже:
Вложение:
Stream1.png
Stream1.png [ 160.4 Кб | Просмотров: 0 ]
Код:
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 
Аватара пользователя


22/11/22
619
Red_Herring в сообщении #1624111 писал(а):
Ну вот такое было бы идеальным

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

-- 28.12.2023, 02:01 --

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

 Профиль  
                  
 
 Re: Качественный фазовый портрет системы ОДУ
Сообщение28.12.2023, 03:24 
Заслуженный участник
Аватара пользователя


31/01/14
11304
Hogtown
Combat Zone в сообщении #1624132 писал(а):
Не годится совсем?

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

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


22/11/22
619
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 
Аватара пользователя


18/10/21
67

(Оффтоп)

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

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

 Профиль  
                  
 
 Posted automatically
Сообщение28.12.2023, 11:16 
Админ форума


02/02/19
2507
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Околонаучный софт»
Причина переноса: тематика.

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


06/01/23
8
Чтобы пририсовать стрелочки к варианту из пакета
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 
Заслуженный участник
Аватара пользователя


04/09/14
5255
ФТИ им. Иоффе СПб
Red_Herring в сообщении #1624111 писал(а):
Ну вот такое
было бы идеальным.
Лучше, чем так
Вложение:
Stream3.png
Stream3.png [ 112.22 Кб | Просмотров: 0 ]
из Математики вряд ли можно вытащить.
Код:
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 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group