Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: odeint python как работает и где используется?

  1. odeint python как работает и где используется?

    Всем привет! Я тут начал заниматься Python и недавно наткнулся на библиотеку SciPy, а точнее на функцию odeint. Народ, кто в курсе, подскажите, плиз, как работает odeint в Python? Я так понимаю, она как-то решает дифферы, но как именно? Есть ли какие-то прикольные примеры, чтобы прям понять до конца? Очень жду ваших комментов и кодов!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! odeint - это функция из scipy, которая решает системы обыкновенных дифференциальных уравнений (ОДУ). Ты задаешь систему диффов в виде функций и передаешь их в odeint вместе с начальными условиями и временными точками. Вот примерчик:

    Программный код:
    import numpy as np
    from scipy
    .integrate import odeint

    # Определяем систему ОДУ
    def model(yt):
    dydt = -0.5 y
    return dydt

    # Начальные условия
    y0 5

    # Временные точки
    np.linspace(010100)

    # Решение системы
    odeint(modely0t)

    print(
    y
    В этом примере решается уравнение 'dy/dt = -0.5y' с начальными условиями y(0)=5. Прикольная штука, особенно если у тебя задачи с физикой или биологией. Удачи!

  4. Цитата Сообщение от Nika_vdn
    Привет! odeint - это функция из scipy, которая решает системы обыкновенных дифференциальных уравнений (ОДУ). Ты задаешь систему диффов в виде функций и передаешь их в odeint вместе с начальными условиями и временными точками. Вот примерчик:

    Программный код:
    import numpy as np
    from scipy
    .integrate import odeint

    # Определяем систему ОДУ
    def model(yt):
    dydt = -0.5 y
    return dydt

    # Начальные условия
    y0 5

    # Временные точки
    np.linspace(010100)

    # Решение системы
    odeint(modely0t)

    print(
    y
    В этом примере решается уравнение 'dy/dt = -0.5y' с начальными условиями y(0)=5. Прикольная штука, особенно если у тебя задачи с физикой или биологией. Удачи!
    Ооо, круто! Теперь понял, как это работает. А если у меня система с несколькими уравнениями, это решит?

  5. Я вот тоже недавно разобрался с odeint. На самом деле, надо просто написать функцию, которая возвращает массив производных. Довольно просто и быстро. Например, для системы двух уравнений:

    Программный код:
    def model(yt):
    xy
    dxdt 
    = -0.5 x
    dzdt 
    0.3 z
    return [dxdtdzdt]

    y0 = [51]
    np.linspace(020200)
    sol odeint(modely0t)

    print(
    sol

  6. Цитата Сообщение от Ястреб
    Я вот тоже недавно разобрался с odeint. На самом деле, надо просто написать функцию, которая возвращает массив производных. Довольно просто и быстро. Например, для системы двух уравнений:

    Программный код:
    def model(yt):
    xy
    dxdt 
    = -0.5 x
    dzdt 
    0.3 z
    return [dxdtdzdt]

    y0 = [51]
    np.linspace(020200)
    sol odeint(modely0t)

    print(
    sol
    Спасибо за пример! Теперь понял, как с несколькими уравнениями работать.

  7. Оdeint хорошая штука, но если у тебя сложные системы, может понадобиться покопать в теории. Лично у меня был случай, когда не сходился результат - правильно задавай начальные условия и временные шаги. Поделюсь своим опытом дальше, если останутся вопросы, пиши.

  8. Цитата Сообщение от Лариса
    Оdeint хорошая штука, но если у тебя сложные системы, может понадобиться покопать в теории. Лично у меня был случай, когда не сходился результат - правильно задавай начальные условия и временные шаги. Поделюсь своим опытом дальше, если останутся вопросы, пиши.
    Спасибо за совет! Да, я тоже заметил, что нужно аккуратно с временным шагом - иногда результаты бредовые.

  9. Для более сложных вещей бери документацию scipy и вперед. Читай про интеграционные методы, там не только odeint, есть и другие функции, например solve_ivp.

  10. Цитата Сообщение от Мираж
    Для более сложных вещей бери документацию scipy и вперед. Читай про интеграционные методы, там не только odeint, есть и другие функции, например solve_ivp.
    Ага, документация рулит, спасибо! Попробую еще solve_ivp изучить.

Страница 1 из 2 12 ПоследняяПоследняя