- •Численные методы решения задач строительства
- •Часть 1
- •Предисловие
- •В ведение
- •Общие сведения о вычислительном эксперименте и математическом моделировании
- •Численные методы.
- •Погрешности вычислений
- •Понятия точности, устойчивости и сходимости при численном решении
- •1.1. Матрицы и векторы.
- •1.2. Матрицы специального вида
- •Глава 1 Основные понятия матричного исчисления
- •1.3. Действия над матрицами
- •1.4. Нормы матрицы и вектора
- •1.5. Функции ms Excel для операций над матрицами
- •Контрольные вопросы
- •Г лава 2. Численные методы решения нелинейных уравнений
- •2.1. Первый этап. Отделение корней
- •Второй этап. Этап уточнения корня
- •Iteration (итерация)- повторение, ре-зультат повторного применения какой-либо математической операции.
- •Метод половинного деления (бисекции)
- •Метод хорд
- •Метод Ньютона (метод касательных)
- •Модифицированный метод Ньютона
- •Реализация численных методов решения нелинейных уравнений средствами приложения ms Excel
- •Последовательность действий:
- •2.3.1. Решение нелинейных уравнений с использованием надстройки «Подбор параметра»
- •Последовательность действий
- •Контрольные вопросы
- •3.2. Прямые методы решения систем линейных алгебраических уравнений
- •3.2.1. Метод Гаусса
- •3.2.2. Метод прогонки
- •Алгоритм метода прогонки
- •3.3. Итерационные методы решения систем линейных алгебраических уравнений
- •3.3.1. Метод Якоби (простых итераций)
- •3.3.2. Метод Гаусса – Зейделя.
- •3.3.3. Условия сходимости итерационного процесса
- •3.5. Устойчивость решения слау относительно исходных данных (или обусловленность задач и вычислений)
- •3.6. Примеры решения слау с использованием электронных таблиц ms Excel
- •3.6.1. Реализация метода Гаусса
- •Последовательность действий
- •Прямой ход метода Гаусса.
- •3.6.2. Решение слау с помощью надстройки «Поиск решения»
- •Последовательность действий:
- •3.6.3. Реализация метода Якоби средствами приложения ms Excel
- •Последовательность действий
- •3.6.4. Реализация метода прогонки средствами приложения Excel
- •Последовательность действий
- •Контрольные вопросы
- •Г лава 4. Численное интегрирование
- •Алгоритм метода половинного шага.
- •4.1. Квадратурные формулы прямоугольников
- •4.2. Квадратурная формула трапеций
- •4.3. Квадратурная формула Симпсона
- •4.4. Реализация методов численного интегрирования средствами приложения Ms Excel
- •Последовательность действий:
- •Контрольные вопросы
- •Г лава 5. Аппроксимация
- •5.1. Задачи аппроксимации
- •5.2. Интерполирование функций
- •5.2.1. Постановка задачи интерполирования
- •5.2.2. Интерполяционная формула Лагранжа
- •5.3. Среднеквадратичное приближение функций
- •5.3.1. Постановка задачи
- •5.3.2. Метод наименьших квадратов
- •5.3.3. Линейная эмпирическая формула (линейная регрессия)
- •5.3.4. Коэффициент корреляции
- •5.3.5. Квадратичное (параболическое) приближение
- •5.3.6. Эмпирические формулы с двумя параметрами (метод выравнивания)
- •5.4. Решение задач аппроксимации с помощью электронных таблиц Excel
- •5.4.1. Построение уравнений регрессии методом наименьших квадратов с использованием надстройки «Поиск решения»
- •Последовательность действий
- •5.4.2. Построение линейной эмпирической формулы с использованием встроенных функций линейн и тенденция
- •Последовательность действий
- •Последовательность действий
- •Контрольные вопросы
- •Глава 6. Численные методы оптимизации
- •6.1. Общие сведения
- •6.1.1. Математическая модель задачи оптимизации
- •6.1.2. Классификация задач математического программирования
- •6.2. Постановка задачи оптимального проектирования
- •6.3. Задачи линейного программирования
- •6.3.1. Общая постановка задачи
- •6.3.2. Геометрический смысл системы линейных неравенств
- •Случай n проектных параметров.
- •6.3.3. Геометрический метод решения задач линейного программирования
- •Последовательность действий:
- •6.3.4. Симплекс-метод решения задач линейного программирования
- •Примеры задач линейного программирования в сфере проектирования и управления строительным производством
- •6.4.1. Задача об оптимальном плане выпуска продукции
- •6.4.2. Задача об оптимальном раскрое материалов (о минимизации отходов)
- •6.4.3. Задача о планировании смен на предприятии
- •6.4.4. Задача о покрытии местности при строительстве объектов
- •6.4.5. Транспортная задача
- •Задача о назначениях (проблема выбора)
- •6.5. Решение задач оптимизации с помощью ms Excel
- •6.5.1. Решение задачи планирования производства
- •Последовательность действий:
- •Контрольные вопросы
- •Литература
- •6.5.2. Решение транспортной задачи
- •Последовательность действий:
- •Глава 1 16
- •Глава 2. 27
- •Глава 3. 51
- •Глава 4. 86
- •Глава 5. 100
- •Глава 6. 125
5.1. Задачи аппроксимации
Большинство численных методов основаны на замене одной функции f(x) (известной или неизвестной) другой функцией (х), близкой к f(x). Как правило, функция (х) обладает «хорошими» свойствами и является «удобной» при аналитических и вычислительных операциях.
Такую замену называют аппроксимацией или попросту – приближением функции f(x) функцией (х).
Функцию (х) называют приближением или аппроксимирующей функцией.
Таким образом, задача о приближении (аппроксимации) функции f(x) функцией (х) состоит в построении функции (х) близкой (в некотором смысле) к функции f(x) на заданном отрезке [a,b], т.е.
f(x) (х). (5.1)
Для решения этой задачи необходимо ответить на ряд вопросов, а именно:
Что известно о функции f(x). Задана она аналитически или таблицей своих значений, какова степень ее гладкости.
Какую функцию (х) выбрать в качестве аппроксимирующей функции.
Что понимать под близостью между функциями f(x) и (х), т.е. какова степень приближения (5.1).
Термин близости (отклонения) двух функций понимается по-разному в зависимости от обстоятельств. При этом мы получаем различные задачи теории приближения, из которых рассмотрим две, а именно: интерполирование и среднеквадратичное приближение.
5.2. Интерполирование функций
5.2.1. Постановка задачи интерполирования
Простейшая задача интерполирования заключается в следующем [3, 6]. На отрезке [a, b] заданы n+1 точек x0, x1,…, xn , которые называются узлами интерполяции, и значения некоторой функции у=f(x) в этих узлах: y0=f(x0), y1=f(x1),…,yn=f(xn). Требуется построить функцию (х) (интерполирующую функцию), принимающую в узлах интерполяции те же значения, что и функция f(x), т.е.
(х0)=y0, (х1)=y1, ,(хn)=yn.. (5.2)
Г
еометрически
это означает, что нужно найти кривую
у=(х),
проходящую через заданную систему точек
(узлов) (xi,yi),
i=0,1,..,n
(рис.5.1).
Рис.5.1. Геометрический смысл задачи интерполирования.
В такой общей постановке задача может иметь бесчисленное множество решений или совсем не иметь решений.
Однако задача становится однозначной, если в качестве интерполирующей функции взять многочлен Pn(х) степени не выше n, удовлетворяющий условиям:
Pn(x0)=y0 , Pn(x1)= y1 ,…, Pn(xn)=yn (5.3)
Интерполяционную формулу
f(x) Pn(х) (5.4)
обычно используют для приближенного вычисления значений данной функции у=f(x) в точках х[х0, хn], отличных от узлов интерполяции. Такая операция называется интерполированием функции. С другой стороны, имея интерполяционную зависимость (5.4) можно сделать прогноз о поведении функции у=f(x) вне отрезка [a,b], это уже называется экстраполяцией.
Таким образом, под интерполяцией понимается нахождение приближенных промежуточных значений таблично заданной функции строго внутри таблицы, тогда как экстраполяция – нахождение приближенных значений функции за пределами промежутка [x0, xn].
Понятие интерполирование и экстраполирование становятся очевидными, зная их латинское происхождение: inter – между, extra – вне, polire – делать гладкими.
5.2.2. Интерполяционная формула Лагранжа
Пусть на отрезке [a,b] функция у=f(x) задана таблично, т.е. (xi, yi), ( i=0,1,..,n), где yi=f(xi). Так заданную функцию называют «сеточной».
Постановка задачи: найти алгебраический многочлен (полином):
степени не выше n такой, чтобы
Ln(xi)=yi , при i=0,1,..,n, (5.6)
т.е. имеющий в заданных узлах xi, (i=0,1,..,n) те же значения, что и сеточная функция у=f(x).
Сам многочлен Ln(x) называется интерполяционным полиномом, а задача – полиномиальной интерполяцией.
Найти многочлен Ln(x) – это значит найти его коэффициенты a0, a1,…,an. Для этого имеется n+1 условие (5.6), которые записываются в виде системы линейных алгебраических уравнений относительно неизвестных ai, (i=0, 1,…,n):
где xi и yi (i=0,1,…,n) – табличные значения аргумента и функции.
Из курса алгебры известно, что определитель этой системы, называемый определителем Вандермонда:
отличен от нуля и, следовательно, система (5.7) имеет единственное решение.
Определив коэффициенты a0, a1,…,an , решая систему (5.7), получаем так называемый интерполяционный полином Лагранжа для функции f(x):
(5.8)
который можно записать в виде:
Доказывается [3, 6], что по заданным n+1 значениям функции можно построить единственный интерполяционный многочлен Лагранжа (5.8).
На практике широко используются интерполяционные многочлены Лагранжа первой (n=1) и второй (n=2) степени.
При n=1 информация об интерполируемой функции у=f(x) задается в двух точках: (x0, y0) и (x1, y1), и многочлен Лагранжа имеет вид
Для n=2 многочлен Лагранжа строится по трехточечной таблице
xi |
x0 |
x1 |
x2 |
yi |
y0 |
y1 |
y2 |
и имеет вид
Приближенные равенства
называются соответственно формулами линейной и квадратичной интерполяции.
Пример 5.1. Построить интерполяционный полином Лагранжа для функции, заданной таблицей:
-
xi
1
2
3
5
yi
1
5
14
81
Решение: Подставляем исходные данные в формулу (5.8). Степень полученного многочлена Лагранжа не выше третьей, так как функция задается четырьмя значениями:
Пользуясь интерполяционным полиномом Лагранжа, можно найти значение функции в любой промежуточной точке, например при х=4:
= 43
Интерполяционные полиномы Лагранжа используются в методе конечных элементов, широко применяемом при решении задач строительства.
Известны и другие формулы интерполяции, например, интерполяционная формула Ньютона [3, 6], применяемая при интерполяции в случае равноотстоящих узлов или интерполяционный полином Эрмита [3].
Сплайн-интерполяция. При использовании большого числа узлов интерполяции используют специальный прием – кусочно-полиномиальную интерполяцию, когда функция интерполируется полиномом степени т между любыми соседними узлами сетки.
