ФЭА / АИТ / Лабораторная работа «Численное решение дифференциальных уравнений. Метод Эйлера» по дисциплине «Оптимизация и оптимальные управления» Вариант №4
(автор - student, добавлено - 29-09-2017, 17:29)
Скачать: Кафедра АиТ
Лабораторная работа «Численное решение дифференциальных уравнений. Метод Эйлера» по дисциплине «Оптимизация и оптимальные управления» Вариант №4
Численное решение дифференциальных уравнений
Метод численного решения дифференциального уравнения первого порядка - это нахождение корней уравнения при известных начальных условиях х0; у(х0).
Метод Эйлера
По определению, производная - это отношение приращения функции к приращению аргумента, т.е. . введём новые переменные: х0=х, у0=у(х)=у(х0), х1=x+h=х0+h, y(x+h)=у(х1)=y1, тогда получим: или . Следовательно . Так как , то получим, что . Теперь пользуясь значением y1, можем определить следующее значение функции, т.е. и далее , при этом, новое значение аргумента будет выражаться по формуле хi+1=xi+h. Таким образом, зная начальные условия и шаг h, можно решить уравнение на отрезке [a,b], где а=х0. При достаточно малом шаге h метод Эйлера даёт решение с большой точностью. Но при уменьшении шага, происходит замедление вычислений.
Алгоритм метода Эйлера
Шаг 1. Задаются начальные данные а=х0; у0; b; h. Шаг 2. Вычисляется новое значение функции по формуле: . Шаг 3. Вычисляется новое значение аргумента по формуле хi+1=xi+h. Шаг 4. Полученные значения функции и аргумента выводятся на печать. Шаг 5. Если аргумент функции меньше b, то необходимо перейти к шагу 2, в противном случае управление переходит к шагу 6. Шаг 6. Конец.
Расчетная часть Задание. Написать программу решения дифференциального уравнения методом Эйлера, если известны следующие данные: Отрезок [2;3], Начальные значения x0,y0:[2;0.9], Шаг:h=0.1.
Решение. 1) Решим дифференциальное уравнение методом Эйлера: Program Eiler; Uses CRT; Var a,b,x,y,h:real; Begin clrscr; Write('(a;b):'); Readln(a,b); Write('(x0;y0):'); Readln(x,y); Write('h='); Readln(h); Writeln; Repeat WriteLn('x=',x:2:1,' ','y=',y:2:4); y:=y+h*(exp(-x)+y); x:=x+h; Until x>b; Readln; End. В результате решения уравнения методом Эйлера получили ряд следующих значений: Ломаная Эйлера имеет следующий вид:
Похожие статьи:
|
|