Реферат: Решение дифференциальных уравнений 1 порядка методом Эйлера

y(xk +1/2 )=f(xk +1/2 , yk +1/2 )=αk (2.5.7)

Из точки Мк проводим прямую с угловым коэффициентом αк и определяем точку пересечения этой прямой с прямой Хк1 . Получаем точку Мк / . В качестве ук+1 принимаем ординату точки Мк / . Тогда:

ук+1кк h

xk +1 =xk +h

(2.5.8)αk =f(xk + h/2 , yk +f(xk ,Yk )h/2)

yk =yk -1 +f(xk -1 ,yk -1 )h

(2.5.8)-рекурентные формулы метода Эйлера.

Сначала вычисляют вспомогательные значения искомой функции ук+1/2 в точках хк+1/2 , затем находят значение правой части уравнения (11) в средней точке y/ k+1/2 =f(xk +1/2 , yk +1/2 ) и определяют ук+1 .

Для оценки погрешности в точке хк проводят вычисления ук с шагом h, затем с шагом 2h и берут 1/3 разницы этих значений:

| ук * -у(хк )|=1/3(yk * -yk ),(2.5.9)

где у(х)-точное решение дифференциального уравнения.

Таким образом, методом Эйлера можно решать уравнения любых порядков. Например, чтобы решить уравнение второго порядка y// =f(y/ ,y,x) c начальными условиями y/ (x0 )=y/ 0 , y(x0 )=y0 , выполняется замена:

y/ =z (2.5.10)

z/ =f(x,y,z)

Тем самым преобразуются начальные условия: y(x0 )=y0 , z(x0 )=z0 , z0 =y/ 0 . (2.5.12)

3.Описание алгоритмов решения задачи

3.1.Описание переменных.

Наименование Тип Описание
Входные данные
Xi double Начальное значение (x) интервала вычисления
Xkon double Конечное значение (x) интервала вычисления
n integer Количество шагов
Yi double Начальное значение y
kx double Коэффициент при переменой x
ky double Коэффициент при переменной y
Выходные данные
h double Фиксированное приращение аргумента (x)
res double Расчётное значение уравнение y’=F(x,y) в точке (x)
Промежуточные
i integer Счётчик цикла
Yprom double Промежуточное значение y в точке Xprom
Xprom double Промежуточное значение x при h/2
a double Решение уравнения в точках f(Xprom,Yprom)
f1 double Функция f(x,y)

3.2. Блок- схема главного модуля

3.3 Описание алгоритма главной программы.

Номер блока Описание
1 Ввод начального и конечного значений интервала вычисления уравнения, количество шагов, начальное значение у, а также коэффициенты при kxи ky.
2 Вычисление фиксированного приращения аргумента х
3 Цикл с шагом 1 и конечным значением не превышающим количество шагов, который высчитывает значение yна определённом интервале
4 Функция для расчёта уравнения вида y’=f(x,y);

5

Вывод результатов на интервале X

3.4 Блок-схема функции “func”.

3.5 Описание блок- схемы функции “func”.

Номер

блока

Описание
1 Вычисление: функции f1 с подстановкой начальных значений; промежуточных значений Yprom и Xprom, значения aдля вычисления f(Xprom,Yprom) и расчёт результатов функции и переход на следующий шаг.
2 Приращение аргумента xна h
3 Вывод результатов уравнения и интервала

*Реализация алгоритма на языке программирования C++ представлена в приложении .

4.Описание программного обеспечения.

4.1 Описание операционной системы

Основное требование к операционной системе (ОС), предъявляемое поставленной задачей, это наличие ANSI или POSIX совместимого компилятора языка C++.

Для реализации задачи была выбрана последняя клиентская версия операционной системы Microsoft, основанная на ядре NT – MicrosoftWindowsXPProfessional.

Указанная операционная система обладает рядом преимуществ:

· наличие достаточного количество ANSI или POSIX совместимых компиляторов языка C++, разработанных для данной ОС, а именно –

o Microsoft C++ (version 2-6)

o gcc

o Borland C++

o Intel C++

o прочие;

· достаточная управляемость, надежность и безопасность;

· широкое распространение основанных на ядре NT операционных систем Microsoft, совместимых по программному обеспечению с WindowsXPProfessional (NT/2000/XP/2003 – client & server);

К-во Просмотров: 502
Бесплатно скачать Реферат: Решение дифференциальных уравнений 1 порядка методом Эйлера