- •1. Внутренняя сортировка данных методом подсчета. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •2. Внутренняя сортировка данных методом выбора. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •3. Внутренняя сортировка данных методом простых вставок. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •4. Внутренняя сортировка данных методом Шелла. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •5. Внутренняя сортировка данных методом «пузырька». Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •6. Внутренняя сортировка данных «быстрым» методом. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •7. Численное решение уравнения методом половинного деления (дихотомии). Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •Метод хорд
- •9. Численное решение уравнения методом Ньютона (касательных). Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •10. Численное решение уравнения модифицированным методом Ньютона. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм. Модифицированный метод Ньютона
- •Модифицированный метод Ньютона (метод секущих)
- •Метод ньютона-рафсона
- •11. Численное решение уравнения методом секущих. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •Условие сходимости
- •12. Численное решение уравнения методом простых итераций. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм. Метод простых итераций
- •13. Численное интегрирование методом прямоугольников. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм. Метод прямоугольников
- •Пример реализации
- •14. Численное интегрирование методом трапеций. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм. Метод трапеций
- •Составная формула
- •Формула
- •Представление в виде метода Рунге-Кутта
- •Составная формула (формула Котеса)
- •16. Численное интегрирование методом Гаусса-Лежандра. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм.
- •17. Численное интегрирование методом Монте-Карло. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм. Интегрирование методом Монте-Карло
- •Обычный алгоритм Монте-Карло интегрирования
- •Геометрический алгоритм Монте-Карло интегрирования
- •Использование выборки по значимости
- •Применения
- •Случай равномерного распределения узлов интерполяции
- •Интерполяция полиномами Лагранжа и Ньютона
- •Погрешность интерполирования
- •Выбор узлов интерполяции
- •Изложение метода
- •Метод прогонки
- •Пример: интерполирование неизвестной функции
- •Ошибка интерполяции
- •Пример: интерполяция синуса
- •Дискретное преобразование Фурье
- •Пример использования
- •Погрешность вычислений
- •Программная реализация
Пример реализации
Формула средних прямоугольников для аналитически заданной функции, написанная на С
#include <stdio.h>
#include <math.h>
double f(double x){ //Подынтегральная функция
return sin(x); //Например, sin(x)
}
double rectangle_integrate(double a, double b, int n, double (*f)(double) ){
double result, h;
int i;
h = (b-a)/n; //Шаг сетки
result = 0.0;
for(i=1; i <= n; i++){
result += f( a + h * (i - 0.5) ); //Вычисляем в средней точке и добавляем в сумму
}
result *= h;
return result;
}
int main(void){
double integral;
integral=rectangle_integrate(0,2,100,f);
printf("The value of the integral is: %lf \n", integral);
return 0;
}
14. Численное интегрирование методом трапеций. Эффективность данного алгоритма. Привести фрагмент программы, поясняющий данный алгоритм. Метод трапеций
Словесный алгоритм метода трапеций:
Интервал [a,b] делим на n равных частей с шагом h=(b-a)/n.
Вычисляем значение подынтегральной функции в каждой узловой точке
На каждом шаге подынтегральную функцию f(x) аппроксимируем прямой, соединяющей две соседние узловые точки. В результате вся подынтегральная функция на участке [a,b] заменяется ломаной линией проходящей через все узловые точки.
Вычисляем площадь каждой частичной трапеции.
Приближенное значение интеграла равно сумме площадей частичных трапеций, т.е.
Найдем площади Si частичных трапеций:
Приближенное значение интеграла равно
Точность метода трапеций имеет порядок h2.
Схема алгоритма метода трапеций представлена на рис.12.6.
Метод трапеций для оценки определенного интеграла. Величина определенного интеграла численно равна площади фигуры, образованной графиком функции и осью абсцисс (геометрический смысл определенного интеграла). Следовательно, найти – это значит оценить площадь фигуры, ограниченной перпендикулярами, восстановленными к графику подынтегральной функцииf(x) из точек a и b, расположенных на оси аргумента x.
Для решения задачи разобьем интервал [a,b] на n одинаковых участков. Длина каждого участка будет равна h=(b-a)/n (см. рис.).
Восстановим перпендикуляры из каждой точки до пересечения с графиком функции f(x). Если заменить полученные криволинейные фрагменты графика функции отрезками прямых, то тогда приближенно площадь фигуры, а следовательно и величина определенного интеграла оценивается как площадь всех полученных трапеций. Обозначим последовательно значения подынтегральных функций на концах отрезков f0, f1, f2,..., fn и подсчитаем площадь трапеций
В общем случае формула трапеций принимает вид
где fi – значение подынтегральной функции в точках разбиения интервала (a,b) на равные участки с шагом h; f0, fn – значения подынтегральной функции соответственно в точках a и b.
Остаточный член пропорционален длине интервала [a,b] и квадрату шага h
Согласно рис. и формуле остаточного члена, точность вычисления определенного интеграла повышается с уменьшением шага h (увеличением числа отрезков n).
Метод трапеций можно реализовать в виде процедуры или даже функции, поскольку результат вычисления определенного интеграла – скалярная величина. Параметрами программного модуля являются границы интервала (a и b) и число шагов разбиения на малые интервалы n. Для составления универсальной функции целесообразно предусмотреть вычисление подынтегральной функции f(x) во внешней процедуре – функции.
Метод трапеций — метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями. Алгебраический порядок точности равен 1.
Если отрезок является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по формуле
Это простое применение формулы для площади трапеции — полусумма оснований, которыми в данном случае являются значения функции в крайних точках отрезка, на высоту (длину отрезка интегрирования). Погрешность аппроксимации можно оценить через максимум второй производной