Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Bugert
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 9
1

Сложности с решением системы дифференциальных уравнений

20.12.2014, 11:34. Просмотров 409. Ответов 2
Метки нет (Все метки)

Есть вот такая система уравнений:

C++
1
2
dn/dt = 75.5*p*n-75.5*n+0.0767*c
dc/dt = 75.5*n-0.0767*c
Где, грубо говоря, n - мощность реактора,
с - концентрация ядер.
p - меняется от -1 до 1, будет меняться через doubleSpinBox и, соответсвенно, будет p = ui->doubleSpinBox->value()(работаю в Qt).


Вопрос, в том, что я не понимаю, как правильно реализовать на c++ решение методом Эйлера. Последнее на что навели мысли, примерно вот такая штука:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const double Const=75.5;
 const double Ac=0.0767;
 const double Bc=0.00681919;
 const double N1=1.00;
 
 double n[10];
 double c[10];
 
 n[0] = 0.0;
 c[0] = Bc*N1/Ac;
 
for(int i=0;i<=10;i++)
           {
              n[i+1]=n[i]+h*(Const*p*n[i]-Const*n[i]+Ac*c[i]);
              c[i+1]=c[i]+h*(Const*n[i]-Ac*c[i]);
              qDebug()<<n[i];
              qDebug()<<c[i];
           }
Как добиться того, чтобы при каждом пересчете цикла под n[i] и c[i] подставлялись высчетанные на предыдущем шаге n и c?
Но таким образом я ещё и t совсем потерял и не понимаю, куда её прикрутить, ведь n и t изменяются по времени.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2014, 11:34
Ответы с готовыми решениями:

Решение системы дифференциальных уравнений
Года 3 не трогал подобное и уже всё позабыл. Спасите пожалуйста... Как данную систему уровнений...

Решение системы дифференциальных уравнений методом Эйлера
В интернете нашел похожий код, но для 1 уравнения, может кто помочь сделать для 2? Тоесть для...

Численное интегрирование системы дифференциальных уравнений методом Адамса
как перевести код из С в С++ код на решение численного интегрирования системы дифференциальных...

Составить программу для решения системы обыкновенных дифференциальных уравнений
Подскажите, пожалуйста, как составить программу для решения системы обыкновенных дифференциальных...

Численное интегрирование системы дифференциальных уравнений методом Рунге - Кутта
Доброго времени суток. Пытаюсь разработать функцию для численного интегрирования систем...

2
zss
Модератор
Эксперт С++
8740 / 7647 / 4729
Регистрация: 18.12.2011
Сообщений: 20,344
Завершенные тесты: 1
20.12.2014, 12:03 2
У Вас так и происходит: i+1-е значение вычисляется через i-е.
А t=i*h
0
IrineK
Заблокирован
20.12.2014, 13:31 3
Цитата Сообщение от Bugert Посмотреть сообщение
ведь n и t изменяются по времени
t и есть время.
Чтобы не путаться, замените i на t.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2014, 13:31

Метод Рунге-Кутта 4 порядка для решения системы дифференциальных уравнений
Имеется код программы, но по не очевидным для меня причинам работает не корректно, во время отладки...

Функция для численного интегрирования системы дифференциальных уравнений методом Рунге - Кутта
Доброго времени суток. У меня есть вот такая задачка: Разработать функцию для численного...

Сложности с решением
Дана последовательность целых чисел. Разделить эту последовательность на две группы чисел с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.