|
|
Книги-onlineОбыкновенные дифференциальные уравнения.
Обыкновенные дифференциальные уравнения.
Модиффицированные методы Эйлера решения уравнения первого порядка.При численном интегрировании дифференциального уравнения первого порядка y'=F(x,y)с начальным условием y(x0)=y0 (задача Коши) сначала выбираем фиксированное приращение аргумента h=(xf -x0)/n, где xf - конечная точка интервала интегрирования, n- число шагов. Затем, применяя процедуру модифицированного метода Эйлера, вычисляем yk по рекурентной формуле: yk=yk-1+h[Fk-1+F(xk ,yk-1+hFk-1)]/2где Fk=F(xk,yk). Можно воспользоваться другой рекурентной формулой: yk=yk-1+F(xk-1+h/2,yk-1+Fk-1 h/2). Наверх Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка.Наиболее употребительным методом Рунге-Кутта является метод четвертого порядка, в котором вычисления производятся по формуле: yk+1=yk+(k1+2k2+2k3+k4)/6,где k1=Fk h=F(xk,yk)h k2=F(xk+h/2,yk+k1/2) h k3=F(xk+h/2,yk+k2/2) h k4=F(xk+1,yk+k3) h, k=0, . . .,n-1 h=(xf -x0)/nНаверх Обыкновенные дифферециальные уравнения высших порядков и системы дифферециальных уравнений.Система обыкновенных диференциальных уравнений высшего порядка путем введения новых функций может быть сведена к системе уравнений первого порядка. Рассмотрим такую систему yi'=Fi(x,y)где i=1,...,n; y=(y1,y2, . . .,yn); y(x0)=y(0)=(y(0)1, . . .,y(0)n). Систему будем решать методом Рунге-Кутта, вычисляя yik по формуле: yi(k+1)=yi(k)+(k1(i)+2k2(i)+2k3(i)+k4(i))/6 где k1(i)=Fi(x(k),y(k))h k2(i)=Fi(x(k)+h/2,y(k)+k1(i)/2) h k3(i)=Fi(x(k)+h/2,y(k)+k2(i)/2) h k4(i)=Fi(x(k+1),y(k)+k3(i)) h, h=(xf -x0)/mm - колличество шагов интегрирования. Процедура использует набор функций F(i,x,y), которые соответствуют функциям F(i,x,y) описанным выше.
Наверх
Процедура интегрирует систему дифференциальных уравнений первого порядка yi'=Fi(x,y)с начальным условием y(x0)=y(0)=(y(0)1, . . .,y(0)n) методом Рунге-Кутта с автоматическим выбором шага. Вначале шаг интегрирования выбирается равным: h=(xf -x0)/2. По формулам предыдущего раздела вычисляются значения функций y1 i=yi(x0+2h) (т.е. на шаге интегрирования 2h), затем эти же формулы применяются дважды с шагом h: вначале для нахождения решения y2 i в точках x0+h и по этим значениям для нахождения y3 i=yi(x0+2h). Полученные значения y1 i и y3 i сравниваются. Если абсолютные значения разности мантисс y1 i и y3 i (после выравнивания порядков этих величин и 10 s ) больше e, то происходит уменьшение шага вдвое. После пятикратного интегрирования с шагом h происходит двухкратное увеличение шага. После вычисления y(x0+2h) за исходную принимается точка x+2h, а за исходное значение функции y(x+2h), затем процесс вычисления повторяется. Данная процедура также как и предыдущая использует набор функций F(i,x,y), которые соответствуют функциям F(i,x,y) описанным выше. Процедура вызывает процедуру RK, блок-схема которой находится в том же файле. Если Вы решите экспортировать блок-схемы в паскаль, то необходимо вынести процедуру RK в новый документ и экспортировать отдельно от основной процедуры. Наверх Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском . книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать |
|