Развязка tspan и начального времени t0 в Юлии

Я столкнулся с проблемой, которая заключается в следующем: я хочу представить решение, в котором дано (t0,η). Скажем, (t0,η) = (0,1). Но я хотел бы видеть граф, представленный во всей области (-1,1).

Поскольку tspan неразрывно связано с моим t0, как я могу заставить решатель решить мою задачу для заданного t0, различая начальное значение в интервале в tspan?

Итак, в данном примере хотелось бы наблюдать ОДУ в (-0.88, 0.88), но решить задачу с условием (t0, y0) = (0,1).

Ex8(c)
using DifferentialEquations
using Plots

function example2!(dy, y, t, p)
    c1  = p
    dy[1] = c1 * y[1]^3
end

y0 = [1]
p = [1]
tspan = (0, 0.88)
prob2 = ODEProblem(example2!, y0, tspan, p)
sol2 = solve(prob2)

plot(sol2)

Обновлено:

Обсуждение, которое у меня было с создателем пакета по этому вопросу, на github,

выпуск №705

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

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
0
297
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это не вопрос программирования, а скорее математический. Кажется, вы спрашиваете, как решить краевую задачу. ОДУ, где вместо начального условия у вас есть какое-то другое условие. Решением этого является использование метода стрельбы и превращение вашего BVE в ODE.

В качестве примера со связанной страницы вы ищете начальное условие в y'(0)=a, чтобы решение проходило через известное условие y'(5)=30.

fig1

Я ценю ответ. Но нет; вопрос довольно ясен в его цели. Я звоню решателю. Я хочу отделить значение tspan, которое он решает, и начальные условия. Любое решение ОДУ должно включать определенное граничное условие. Это не моя цель: найти, какое условие я выберу.

BuddhiLW 22.12.2020 15:46
Ответ принят как подходящий

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

Затем объедините два частичных решения либо с помощью операций с массивами, либо нарисовав их с одинаковыми параметрами на одном графике.

Спасибо. Я также разговаривал со своим профессором и забыл, что могу использовать преобразование t -> t-t0 для построения разных интервалов с одинаковыми начальными условиями.

BuddhiLW 22.12.2020 15:47

Другие вопросы по теме