- •Постановка задачи
- •Выбор и обоснование используемых методов Метод Эйлера
- •Метод Трапеций
- •Решение задачи
- •Решение задачи с помощью математического пакета Scilab
- •Интерполяционная формула Лагранжа второго порядка в явном виде
- •Численное интегрирование
- •Основные результаты и выводы по работе
- •Список использованной литературы
- •Приложение а. Краткое описание используемых методов a.1. Метод Эйлера
- •A.2. Интерполяционная формула Лагранжа второго порядка в явном виде
- •A.3. Метод Трапеций
- •Приложение b. Тестирование функций, реализующих выбранные численные методы
- •B.1.Метод Эйлера с автоматическим выбором шага
- •B.2. Интерполяционная формула Лагранжа второго порядка в явном виде
- •B.3.Метод Трапеций с использованием двойного просчета
- •Приложение с. Детализированная схема алгоритма решение задачи
- •Приложение d. Код проекта
Интерполяционная формула Лагранжа второго порядка в явном виде
--> xx=[0 0.5 1];
--> yy=[0 0.4134034 1.2914518];
--> xyd=[xx;yy];
--> a=[0;0;0];
--> //Функция для вычисления коэффициентов квадратичного полинома Лагранжа
--> function [z]=R2(a,xyd)
> z=xyd(2)-a(1)-a(2)*xyd(1)-a(3)*xyd(1)^2
> endfunction
--> //Получение коэффициентов квадратичного полинома Лагранжа
--> [a]=datafit(R2,xyd,a)
a =
0
0.3621618
0.92929
--> //Запись в явном виде
--> function [r]=ip2(x)
> r=0.92929*x^2+0.3621618*x-0
> endfunction
--> //Проверка правильности нахождения полинома Лагранжа 2 степени
--> // должно быть, полное совпадение в узлах интерполяции
--> ip2(0)
ans =
0.
--> ip2(0.5)
ans =
0.4134034
--> ip2(1)
ans =
1.2914518
Численное интегрирование
--> // Интеграл от решения ОДУ.
--> x=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1];
--> y=[0,0.0308971,0.0936731,0.1801871,0.287371 ,0.4134034,0.5570311,0.7173192,0.8935338,1.0850777,1.2914518];
--> I = inttrap(x,y)
I =
0.4904219
--> //Интеграл от интерполяционного полинома Лагранжа второй степени
--> integrate('0.92929 * (x ^ 2) + 0.3621618 * x + 0','x',0,1)
ans =
0.4908442
--> //Нахождение погрешности
--> R=0.4904219-0.4908442
R =
-0.0004223
Основные результаты и выводы по работе
Разработана последовательность решения задачи, поставленной в курсовой работе
Определены численные методы, требуемые для решения поставленной задачи:
Метод Эйлера
Формула Лагранжа в явном виде
Метод Трапеций
Табл. 1
Разработаны и написаны программы и алгоритмы, реализующие выбранные методы. В результате их выполнения получены результаты, представленные в таблице 1.
Значения x |
Решения, полученные программой |
Решения, полученные Scilab |
Погрешность |
0 |
0 |
0 |
0 |
0.1 |
0.032884 |
0.0308971 |
0.0019869 |
0.2 |
0.0920168 |
0.0936731 |
0.0016563 |
0.3 |
0.1775531 |
0.1801871 |
0.002634 |
0.4 |
0.2838000 |
0.287371 |
0.003571 |
0.5 |
0.4089230 |
0.4134034 |
0.0044804 |
0.6 |
0.5516615 |
0.5570311 |
0.0053696 |
0.7 |
0.7110762 |
0.7173192 |
0.006243 |
0.8 |
0.8859298 |
0.8935338 |
0.007604 |
0.9 |
1.0761157 |
1.0850777 |
0.008962 |
1.0 |
1.2811346 |
1.2914518 |
0.0103172 |
Таблица 1 – Результаты решения ОДУ
Табл. 2
Коэффициенты многочлена Лагранжа |
Результаты, полученные программой |
Результаты, полученные в Scilab 6.0.2 |
Погрешность |
a |
0.92658 |
0.92929 |
0.00271 |
b |
0.35456 |
0.3621618 |
0.0076018 |
c |
0 |
0 |
0 |
Таблица 2 – Результаты получения многочлена Лагранжа второй степени
Табл.
3
Показатель |
Результаты, полученные программой |
Результаты, полученные в Scilab 6.0.2 |
Погрешность |
Значение интеграла
|
0.4857932 |
0.4904219
|
0.00046287 |
Значение интеграла
|
0.4867410 |
0.4908442
|
0.0041032 |
Погрешность
|
0.0009478 |
0.0004223
|
0.0005255
|
Таблица 3 – Результаты расчета интегралов