Методы решения дифференциальных уравнений
Метод прямоугольников — метод численного интегрирования функции одной переменной, заключающийся в замене подынтегральной функции на многочлен нулевой степени, то есть константу, на каждом элементарном отрезке. Если рассмотреть график подынтегральной функции, то метод будет заключаться в приближённом вычислении площади под графиком суммированием площадей конечного числа прямоугольников, ширина… Читать ещё >
Методы решения дифференциальных уравнений (реферат, курсовая, диплом, контрольная)
Контрольная работа Методы решения дифференциальных уравнений.
- Введение
- 1. Теоретическая часть
- 1.1 Методы Рунге — Кутты
- 1.2 Аппроксимация МНК
- 1.3 Метод золотого сечения
- 1.4 Метод прямоугольников
- 2. Расчетная часть
- Заключение
- Список литературы
Введение
Дифференциамльное уравнемние — уравнение, связывающее значение некоторой неизвестной функции в некоторой точке и значение её производных различных порядков в той же точке. Дифференциальное уравнение содержит в своей записи неизвестную функцию, ее производные и независимые переменные. Решить дифференциальное уравнение не просто. Есть большое число способов их решения.
1. Теоретическая часть
1.1 Методы Рунге — Кутты
Методы Рунге-Кутты — важное семейство численных алгоритмов решения обыкновенных дифференциальных уравнений и их систем. Данные итеративные методы явного и неявного приближённого вычисления были разработаны около 1900 года немецкими математиками К. Рунге и М. В. Куттой.
Формально, методом Рунге-Кутты является модифицированный и исправленный метод Эйлера, они представляют собой схемы второго порядка точности. Существуют стандартные схемы третьего порядка, не получившие широкого распространения. Наиболее часто используется и реализована в различных математических пакетах (Maple, MathCAD, Maxima) стандартная схема четвёртого порядка. Иногда при выполнении расчётов с повышенной точностью применяются схемы пятого и шестого порядков. Построение схем более высокого порядка сопряжено с большими вычислительными трудностями. Методы седьмого порядка должны иметь по меньшей мере девять стадий, в схему восьмого порядка входит 11 стадий. Хотя схемы девятого порядка не имеют большой практической значимости, неизвестно, сколько стадий необходимо для достижения этого порядка точности. Аналогичная задача существует для схем десятого и более высоких порядков.
Метод Рунге — Кутты 4 порядка столь широко распространён, что его часто называют просто методом Рунге — Кутты.
Рассмотрим задачу Коши
Тогда приближенное значение в последующих точках вычисляется по итерационной формуле:
Вычисление нового значения проходит в четыре стадии:
где h — величина шага сетки по x
Этот метод имеет четвёртый порядок точности, то есть суммарная ошибка на конечном интервале интегрирования имеет порядок O (h4) (ошибка на каждом шаге порядка O (h5)).
1.2 Аппроксимация МНК
Метод наименьших квадратов — один из методов регрессионного анализа для оценки неизвестных величин по результатам измерений, содержащих случайные ошибки.
Метод наименьших квадратов применяется также для приближённого представления заданной функции другими (более простыми) функциями и часто оказывается полезным при обработке наблюдений.
Когда искомая величина может быть измерена непосредственно, как, например, длина отрезка или угол, то, для увеличения точности, измерение производится много раз, и за окончательный результат берут арифметическое среднее из всех отдельных измерений.
Это правило арифметической середины основывается на соображениях теории вероятностей; легко показать, что сумма квадратов уклонений отдельных измерений от арифметической середины будет меньше, чем сумма квадратов уклонений отдельных измерений от какой бы то ни было другой величины. Само правило арифметической середины представляет, следовательно, простейший случай метода наименьших квадратов.
1.3 Метод золотого сечения
Метод золотого сечения — метод поиска значений действительно значной функции на заданном отрезке. В основе метода лежит принцип деления в пропорциях золотого сечения. Наиболее широко известен как метод поиска экстремума в решении задач оптимизации.
Пусть задана функция. Тогда для того, чтобы найти определённое значение этой функции на заданном отрезке, отвечающее критерию поиска (пусть это будет минимум), рассматриваемый отрезок делится в пропорции золотого сечения в обоих направлениях, то есть выбираются две точки и такие, что:
Иллюстрация выбора промежуточных точек метода золотого сечения.
,
где — пропорция золотого сечения.
Таким образом:
То есть точка делит отрезок в отношении золотого сечения. Аналогично делит отрезок в той же пропорции. Это свойство и используется для построения итеративного процесса.
1. Шаг 1. Задаются начальные границы отрезка и точность .
2. Шаг 2. Рассчитывают начальные точки деления:
3. и значения в них целевой функции: .
§ Если (для поиска max изменить неравенство на), то
§ Иначе .
4. Шаг 3.
§ Если, то и останов.
§ Иначе возврат к шагу 2.
1.4 Метод прямоугольников
Метод прямоугольников — метод численного интегрирования функции одной переменной, заключающийся в замене подынтегральной функции на многочлен нулевой степени, то есть константу, на каждом элементарном отрезке. Если рассмотреть график подынтегральной функции, то метод будет заключаться в приближённом вычислении площади под графиком суммированием площадей конечного числа прямоугольников, ширина которых будет определяться расстоянием между соответствующими соседними узлами интегрирования, а высота — значением подынтегральной функции в этих узлах. Алгебраический порядок точности равен 0.
Если отрезок является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по.
В случае разбиения отрезка интегрирования на элементарных отрезков приведённые выше формулы применяются на каждом из этих элементарных отрезков между двумя соседними узлами. В результате, получаются составные квадратурные формулы.
1. Для левых прямоугольников:
2. Для правых прямоугольников:
3. Для средних прямоугольников:
Формулу с вычислением значения в средней между двумя узлами точке можно применять лишь тогда, когда подынтегральная функция задана аналитически, либо каким-нибудь иным способом, допускающим вычисление значения в произвольной точке. В задачах, где функция задана таблицей значений остаётся лишь вычислять среднее значение между интегралами, посчитанными по формулам левых и правых прямоугольников соответственно, что приводит к составной квадратурной формуле трапеций.
дифференциальное уравнение переменная решение.
2. Расчетная часть
program s;
var x: real;
procedure Rung (x: real);
Var
m, t, d, h, y, k1, k2,k3,k4: real;
i: integer;
Function f (x, y: real): real;
begin
f: =2*x*x+2*y;
end;
Begin
Writeln ('METOD RUNGE-KUTTA! ');
Writeln ('Poluchenoe znachenie ');
Writeln (' dy/dx=2* (x2+y) ');
m: =0; d: =1; t: =1; h: =0.1;
Writeln ('——————————');
Writeln ('| i | x | y |');
Writeln ('——————————');
x: =m; y: =d; i: =1;
Writeln ('|', i: 2, ' |', x: 5: 2, ' |', y: 7: 2, ' |');
repeat.
x: =x+h;
i: =i+1;
k1: =f (x, y);
k2: =f (x+h/2,y+h*k½);
k3: =f (x+h/2,y+h*k2/2);
k4: =f (x+h, y+h*k3);
y: =y+h* (k1+2*k2+2*k3+k4);
Writeln ('|', i: 2, ' |', x: 5: 2, ' |', y: 7: 2, ' |');
until x>t;
Writeln ('——————————');
Readln;
End;
procedure Gold (x: real);
var.
y: real;
Function f (x: real): real;
Begin.
f: = (2*sqr (x)) +2*y
End;
Var
e, a, b, c, i, x1, x2: real;
n: Integer;
begin.
Writeln ('METOD ZOLOTOGO SECHENIA! ');
i: =1.618;
e: =0.0001;
a: =0;
b: =1;
Repeat.
x1: =b- (b-a) /i;
x2: =a+ (b-a) /i;
If f (x1) >= f (x2) Then a: =x1
Else b: = x2;
Until abs (b — a) < e;
x: = (a + b) / 2;
writeLn ('kopen min =', x: 10: 8);
Repeat.
x1: =b- (b-a) /i;
x2: =a+ (b-a) /i;
If f (x1) <= f (x2) Then b: =x1
Else a: = x2;
Until abs (b — a) < e;
x: = (a + b) / 2;
writeLn ('kopen max =', x: 10: 8);
readln;
end;
procedure kvad (int: real);
function f (x, x1: real): real;
begin.
f: = ((x+x1) /2) * (x1-x);
end;
var.
a, b, x, x1, l, n: real;
i, h: integer;
begin.
Writeln ('METOD PRYMOUGOLNIKOV! ');
write ('nachalo a= '); readln (a);
write ('konec b= '); readln (b);
write ('kolichestvo razbieniy h= '); readln (h);
x: =a;
x1: =a;
for i: =0 to h-1 do begin
n: = (b-a) /h;
x: =a+i*n;
x1: =x1+n;
l: =f (x, x1);
int: =int+l;
end;
writeln ('integral raven =', int: 10: 4);
readln;
end;
begin.
Rung (x);
Gold (x);
kvad (x);
readln;
end.
Рисунок 1-полученные значения
2. Составим Блок-схему алгоритма программы
Рисунок 2 — Блок-схема алгоритма
Заключение
Освоение методов решения дифференциальных уравнений, в ходе выполнения курсовой работы, позволяет проводить различные вычислительные операции, которые упрощают вычисления.