Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.12.2019
Сообщений: 15

Проблема с начальными значениями odeint

24.01.2022, 10:25. Показов 1325. Ответов 2

Студворк — интернет-сервис помощи студентам
Система ДУ подразумевает описание рост клеток от 0 и до 150 дней. И должна соответствовать графику (привожу пример во вложении). Проблема заключается в том, что начальные значение x1 т.е ([s0]) должен прибавлять +10. У меня такое чувство, что odeint не принимает +10 как константу. Помогите решить проблему.

Начальные значения x1, x2
Python
1
2
3
4
5
a1 = 3; a2= 4; g11 = 0.5; g12 = 1; g21 = -0.5; g22 = 0; b1 = 0.2; b2 = 0.02
gamma = g12*g21 - (1-g11)*(1-g22)
x1 = pow((b1/a1),((1-g22)/gamma))*pow((b2/a2),(g21/gamma))
x2 = pow((b1/a1),(g21/gamma))*pow((b2/a2),((1-g11)/gamma))
print (gamma, x1, x2)
Диф.уравнение
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import matplotlib.pyplot as plt
import numpy as np
from scipy.integrate import odeint 
 
def f(s,t):
    a1 = 3; a2= 4; g11 = 0.5; g12 = 1; g21 = -0.5; g22 = 0; b1 = 0.2; b2 = 0.02
    dx1dt = a1*s[0]**g11*s[1]**g21-b1*s[0]
    dx2dt = a2*s[0]**g12*s[1]**g22-b2*s[1]
    return [dx1dt,dx2dt]
s0 = [1.0606601717798212 + 10, 3.651483716701107]
t = np.linspace(0, 150, 100)                          
s = odeint(f, s0, t)
plt.plot(t,s[:, 0],'r-',linewidth=2.0,label='s1')
plt.plot(t,s[:, 1],'g-',linewidth=2.0,label='s2')
plt.xlabel("t")
plt.ylabel("s")
plt.legend()
plt.grid()
plt.show()
Миниатюры
Проблема с начальными значениями odeint  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2022, 10:25
Ответы с готовыми решениями:

Заполнение массива начальными значениями
int main() { int const a = 11; setlocale(LC_ALL,"Russian"); int loc = {1}; for(int i =1;i<=a;i++) { std::cout<<...

Работа с начальными значениями интегратора
Добрый день. Как задать конечные значения из первого реактора в начальные значения интегратора второго реактора? Реакторы одинаковые и...

Создайте объект класса, заполните поля начальными значениями
class SomeClass { public static int s; public int d; }

2
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
24.01.2022, 22:13
Цитата Сообщение от Koala1996 Посмотреть сообщение
У меня такое чувство, что odeint не принимает +10 как константу
Все принимает, проверил.
Python
1
t = np.linspace(0, 150, 100)
лучше заменить на
Python
1
t = np.linspace(0, 150, 1000)
не будет изломов на графике.
1
1 / 1 / 0
Регистрация: 14.10.2021
Сообщений: 4
30.01.2022, 23:02
Возможно вам будет полезно. Сами разработчики scipy рекомендуют использовать эту функцию вместо odeint https://docs.scipy.org/doc/sci... e_ivp.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2022, 23:02
Помогаю со студенческими работами здесь

Библиотека Odeint
Здравствуйте, пытаюсь разобраться с этой библиотекой Odeint. Скачал эту библиотеку с офф сайта, хотел посмотреть как работает пример: ...

Подключить библиотеку odeint к Xcode
Здравствуйте, я новичок в Xcode (и вообще в программирований на С++). Подскажите пожалуйста, как подключить библиотеку odeint...

Odeint и параметры для дифуров
Добрый вечер. Я столкнулся с такой проблемой. typedef std::array<double, 2> state_type; void foo(state_type& x, state_type& dx,...

Проблема со значениями
В очередной раз добрый день! Теперь пишу вам с проблемой, которую не могу решить. С 52 строки по 60-ю я делал заполнения массива случайными...

Численное решение ОДУ второго порядка с odeint
Здравствуйте! Решаю диффур \ddot{y}+4y=0 при начальных условиях y(0) = 1, \dot{y}(0) = 1, аналитическим решением которого будет y = \cos...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru