2014 dxdy logo

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

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




 
 Численное решение дифференциального уравнения 2 порядка
Сообщение09.12.2015, 17:12 
Имеется массив измеренных значений a(i), i=0..N-1, N- длина массива
Необходимо посчитать массив y(i) решением следующего дифференциального уравнения:
y"(i)+b*y'(i)+c*y=a(i)

Сделал попытку решения методом рунге-кутты, но результат получился некорректным. Вот моя попытка:
Задал начальные условия:
y(0)=0, x(0)=0

и расчёты в цикле i=0..N-2

kx1=a(i)-c*y(i)-b*x(i)
kx2=a(i)-c*y(i)-b*(x(i)+kx1/2)
kx3=a(i)-c*y(i)-b*(x(i)+kx2/2)
kx4=a(i)-c*y(i)-b*(x(i)+kx3)
dx=(kx1+2*kx2+2*kx3+kx4)/6
x(i+1)=x(i)+dx

ky1=x(i)
ky2=x(i)+ky1/2
ky3=x(i)+ky2/2
ky4=x(i)+ky3
dy=(ky1+2*ky2+2*ky3+ky4)/6
y(i+1)=y(i)+dy

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

В некоторых примерах на просторах интернета есть решения уравнения вида y"(i)+b*y'(i)+c*y=0, но у меня ведь не 0 в правой части, а набор значений.

 
 
 
 Posted automatically
Сообщение09.12.2015, 17:50 
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
по следующим причинам:

- Внятно изложите постановку задачи, пока даже непонятно, чего Вы хотите и для какого уравнения,
- неправильно набраны формулы (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы);
- дальше видно будет.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group