- •Г.Г КАШЕВАРОВА, Т.Б. ПЕРМЯКОВА
- •Предисловие
- •Введение
- •Общие сведения о математическом моделировании.
- •Численные методы
- •Элементы теории погрешности
- •Понятия мастера и надстройки
- •Глава 1. Основные понятия матричного исчисления. Матрицы в расчетах строительных объектов
- •1.1. Матрицы и векторы. Определения
- •1.2. Матрицы специального вида
- •1.3. Действия над матрицами
- •1.4. Нормы матрицы и вектора
- •1.5. Матрицы в задачах строительной механики
- •1.5.1. Матрицы влияния внутренних сил
- •1.5.2. Матричная форма расчета статически определимых ферм
- •1.5.3, Матричная форма метода сил
- •1.5.4. Матричная форма метода перемещений
- •1.6. Матрицы в расчетах инженерных сетей
- •1.7. Функции Excel для операций над матрицами
- •Категория: математические. Функции:
- •2.1. Системы линейных алгебраических уравнений
- •2.2.1. Метод Гаусса
- •2.2.2. Метод Гаусса для СЛАУ с ленточными матрицами
- •2.2.3. Метод прогонки
- •2.2.4. Метод (схема) Холецкого
- •2.3. Итерационные методы решения систем линейных алгебраических уравнений
- •2.3.1. Метод Якоби (простых итераций)
- •2.3.2. Метод Гаусса - Зейделя.
- •2.3.3. Условия сходимости итерационного процесса
- •2.5. Обусловленность задач и вычислений, или как узнать, что получены правильные ответы
- •2.6. Вычисление определителя
- •2.7. Вычисление обратной матрицы
- •2.8. Нахождение собственных значений и собственных векторов матриц
- •2.8.1. Вводные замечания
- •2.8.2. Методы развертывания вековых определителей
- •2.8.3. Итерационные методы определения максимального по модулю собственного значения
- •2.9.1. Реализация метода Гаусса средствами приложения Excel
- •Последовательность действий:
- •2.9.4. Реализация метода Зейделя средствами приложения Excel
- •Последовательность действий:
- •3.1. Отделение корней
- •3.2. Этап уточнения корня
- •3.2.1. Метод половинного деления (бисекций)
- •3.2.2.Метод хорд
- •3.2.3. Метод Ньютона (метод касательных)
- •3.2.4. Модифицированный метод Ньютона
- •3.3. Системы нелинейных уравнений
- •3.4. Реализация численных методов решения нелинейных уравнений средствами приложения Excel
- •3.4.1. Решение нелинейных уравнений
- •Последовательность действий
- •4.2.3. Интерполяционный полином Эрмита
- •4.2.4. Сплайн-интерполяция
- •Глава 4. Аппроксимация
- •4.1. Задача и способы аппроксимации
- •4.2. Интерполирование функций
- •4.2.1. Постановка задачи интерполирования
- •4.2.2. Интерполяционная формула Лагранжа
- •4.3. Среднеквадратичное приближение функций
- •4.3.1. Метод наименьших квадратов
- •4.3.4. Квадратичное (параболическое) приближение
- •4.3.4. Эмпирические формулы с двумя параметрами. Метод выравнивания
- •4.4. Решение задач аппроксимации с помощью электронных таблиц Excel
- •4.4.1. Построение линейной эмпирической формулы методом наименьших квадратов
- •Последовательность действий
- •Последовательность действий
- •5.1. Квадратурные формулы прямоугольников
- •5.2. Квадратурная формула трапеций
- •5.3. Квадратурная формула Симпсона
- •5.4. Реализация методов численного интегрирования средствами приложения Excel
- •Глава 6. Численные методы решения дифференциальных уравнений с начальными и краевыми условиями
- •6.1.1. Задачи Коши и краевые задачи
- •6.2.1.Классификация уравнений и типы задач
- •6.3. Численные методы решения задач Коши
- •6.3.1. Метод Эйлера
- •(геометрический метод решения задачи Коши)
- •6.4. Численные методы решения краевых задач
- •Разностная схема краевой задачи для обыкновенного дифференциального уравнения 2-го порядка
- •Конечно-разностная аппроксимация функций двух переменных
- •Сходимость метода конечных разностей
- •6.5. Вариационный подход к решению краевых задач
- •6.5.1. Основные понятия вариационного исчисления
- •6.5.2. Связь решения краевой задачи с нахождением минимума функционала
- •6.5.3. Метод Ритца
- •6.6.1. Решение задачи Коши методом Эйлера
- •Построение второй итерации
- •Последовательность действий.
- •Порядок построения графиков приближенных решений краевой задачи
- •Глава 7. Метод конечных элементов
- •7.1. Основные положения МКЭ
- •Построение расчетной модели
- •Аппроксимация искомой функции
- •Составление разрешающих уравнений
- •Решение системы линейных алгебраических уравнений
- •7.2.1. Классификация конечных элементов
- •Одномерный конечный элемент
- •Двухмерные конечные элементы.
- •элемента
- •Одномерный симплекс-элемент
- •Двухмерный треугольный симплекс-элемент
- •7.2.3. Интерполирование векторных величин
- •7.2.4. Разбиение области на конечные элементы
- •7.2.5 Нумерация узлов и элементов
- •7. 3. Основные соотношения МКЭ
- •7.3.1. Получение разрешающих уравнений на примере плоской задачи теории упругости
- •7.3.2. Примеры разрешающих уравнений в задачах расчета строительных объектов
- •7.4. Другие типы конечных элементов
- •7.4.1. Элементы Эрмита
- •7.5. Теоретическая и практическая сходимость МКЭ
- •7.6.1. Специализированные программные комплексы
- •7.6.2. Универсальные программные комплексы
- •8.1.1. Математическая модель задачи оптимизации
- •8.1. Общие сведения
- •8.1.2. Необходимые и достаточные условия экстремума функции
- •8.1.3. Классификация задач математического программирования
- •8.2. Постановка задачи оптимального проектирования
- •8.2.1. Определение входных и выходных параметров
- •8.2.2. Выбор целевой функции
- •8.2.3. Назначение ограничений
- •8.2.4. Нормирование управляемых и выходных параметров
- •8.2.5. Примеры постановок задач оптимального проектирования
- •8.3. Задачи линейного программирования
- •8.3.1. Общая постановка задачи ЛП
- •8.3.2. Геометрический смысл системы линейных неравенств с двумя неизвестными
- •8.3.4. Симплекс-метод решения задач линейного программирования
- •Задача об оптимальном плане выпуска продукции
- •Задача об оптимальном раскрое материалов (о минимизации отходов)
- •Задача о планировании смен на предприятии
- •Задача о покрытии местности при строительстве объектов
- •Транспортная задача
- •Задача о назначениях (проблема выбора)
- •8.3.6. Двойственные задачи в линейном программировании
- •8.4. Нелинейные задачи оптимизации
- •8.4.1. Выпуклые множества и выпуклые функции
- •8.4.2. Классификация численных методов решения нелинейных задач оптимизации
- •Основные этапы поиска экстремума
- •8.4.3. Численные методы одномерного поиска
- •Метод перебора или равномерного поиска
- •Метод дихотомии (или половинного деления)
- •Метод квадратичной интерполяции
- •Метод покоординатного спуска
- •Метод градиентного спуска
- •Метод наискорейшего спуска
- •Метод сопряженных градиентов
- •Метод Ньютона
- •Метод штрафных функций
- •8.5. Решение задач оптимизации с помощью электронных таблиц Excel
- •Литература
- •Оглавление
- •Численные методы решения задач строительства на ЭВМ
Глава 2. Численные методы решения задач линейной алгебры
«75% всех расчетных математических задач приходится на решение систем линейных алгебраических уравнений»
Е. Валях
Применение численных методов, в принципе, сводит все задачи к алгебраическим. Традиционно выделяют четыре основных задачи линейной алгебры:
•решение систем линейных алгебраических уравнений (СЛАУ);
•вычисление определителя;
•нахождение обратной матрицы;
•определение собственных значений и собственных векторов матрицы.
2.1. Системы линейных алгебраических уравнений
Системы линейных алгебраических уравнений могут либо непосредственно составлять задачу, которую необходимо решить
{канонические уравнения метода сил, метода перемещений, смешанного, комбинированного методов - в расчетах статически неопределимых систем; уравнения равновесия (баланс сил) - в расчетах статически определимых систем и др.), либо задача сводится к решению системы линейных алгебраических уравнений той или иной структуры {краевые задачи, описываемые дифференциальными уравнениями, вариационные задачи и др.).
Система линейных алгебраических уравнений в общем
случае имеет вид |
|
а\\х \ + ап х г + •....... |
+ *,»*« =ЬХ |
а 2\Х| + а22х 2 + ........ |
+ “ь1х„ =Ь2 |
|
(2.1) |
Я„!*1 +«„2*2 + ■........ |
+ атх„ =Ь„ |
|
В некоторых случаях эту систему удобнее записывать в виде
T , aUxJ =b‘> |
(2.1 а) |
j =I |
|
(1 = 1,2,...,и) |
|
или в матричной форме
А х Х = В , |
(2.16) |
где А - матрица системы, X - вектор решения, В - вектор свободных членов.
*1 1 |
* 1 2 |
|
~Х\ |
V |
А = * 2 1 |
* 2 2 |
« 2 я ; |
Х = Х2 ; |
в = Ь2 |
_ а п \ |
*/»2 |
а ,т _ |
- Х п _ |
А _ |
Решение систем линейных алгебраических уравнений представляет собой типичный образец численных расчетов, которыми занимались еще в древности. Это основной “строительный блок” для алгоритмов решения большинства задач, в которых используются математические модели.
Система (2.1) имеет единственное решение [5, 8], если матрица А невырождена (tlet А.Ф0). Это решение, если использовать понятие обратной матрицы (А'1), можно записать
Х = А ~ 'И . |
(2.2) |
Такой подход к решению СЛАУ крайне неэффективен, т.к. вычислительные потери при вычислении обратной матрицы очень большие. И если нет необходимости исследовать непосредственно элементы обратной матрицы, то лучше не вычислять А '.
В курсе линейной алгебры решение системы (2.1) обычно находится по формулам Крамера в виде отношения определителей:
а\\ |
а\2 |
|
|
а\2 |
а\!1 |
а2\ |
а22 |
«2„ |
b2 |
°22 |
^2п |
|
|
|
D\ = |
|
|
а,л |
ап2 |
^пп |
К |
^п2 |
^пп |
аII |
А. |
а\п |
|
|
|
D2 = <>2 \ |
ъ2 |
^2п |
ит.д. |
|
|
|
|
|
|||
лпI |
|
|
|
|
|
|
|
v |
D\ |
D2 |
. И Т . Д . |
|
|
|
^ 2 = |
— |
Для численного решения системы эти формулы непригодны, так как требуют вычисления (w+l)-ro определителя. Даже при выборе наилучшего метода вычисление одного определителя требует такого же времени, что и решение системы линейных алгебраических уравнений современными численными методами.
Все методы решения СЛАУ можно условно разбить на два класса: прямые (или точные) и итерационные. Имеются и гибридные методы.
Прямые методы позволяют за конечное число действий получить точное решение системы. Слова “точное решение” нужно понимать условно, как характеристику алгоритма, а не реального вычислительного процесса.
Итерационные методы являются бесконечными методами. Они позволяют найти приближенное решение системы с заданной точностью в путем построения последовательности приближений (итераций), начиная с некоторого начального приближения.
Выбор того или иного метода зависит от многих обстоятельств:
от вида матрицы коэффициентов; от порядка системы; от имеющихся программ;
от объема оперативной памяти ЭВМ и др.
2.2. Прямые методы решения систем линейных
алгебраических уравнений
Прямые методы решения систем линейных алгебраических уравнений основаны на сведении матрицы системы А к матрице простой структуры - диагональной (и тогда решение очевидно) или треугольной - и тогда решение отыскивается с помощью последовательных подстановок корней. Сведение матрицы А к одному из указанных видов осуществляется при помощи конечного числа эквивалентных преобразований:
•перемена местами двух уравнений в системе;
•умножение какого-либо уравнения системы на действительное число с^О;
прибавление к одному уравнению другого уравнения, умноженного на произвольное число.
2.2.1. Метод Гаусса
Иногда метод Гаусса называют методом последовательного исключения. Алгоритм исключения неизвестных датируется, по крайней мере 250-м годом до нашей эры, хотя и носит имя Гаусса. Суть метода заключается в манипуляциях с уравнениями, в результате чего из уравнений последовательно исключаются неизвестные и получается эквивалентная система (т.е. существует система с тем же самым решением).
Процесс состоит из двух этапов: прямого и обратного хода.
В результате прямого хода система приводится к треугольному виду, а при выполнении обратного хода вычисляются все неизвестные [8, 12].
Продемонстрируем метод Гаусса на примере системы из трех уравнений. Обозначим каждое уравнение буквами А В ^ \ (здесь (/) соответствует номеру шага).
(2.3.)
Прямой ход
Шаг L Допустим ведущий1 элемент ап отличен от нуля. Разделим первое уравнение на а,, и, используя полученное при этом уравнение, домножим его последовательно на коэффициенты (-а21) и (-я 3, ) и суммируем с соответствующими элементами 2-й и 3-й строк.
Выполняемые действия показаны справа от системы уравнений. В результате выполнения этого шага из всех уравнений, кроме 1-го, исключается неизвестное х\т
Действия:
Шаг 2. Выполняя аналогичные действия со вторым и третьим уравнениями (1-е уравнение при этом остается неизменным), исключаем неизвестное х2из них:
Действия:
Ведущий (главный) элемент - элемент, стоящий на главной диагонали.
Выполнив два шага для системы 3-го порядка, получили систему, эквивалентную заданной и имеющую верхнюю треугольную матрицу коэффициентов, из которой легко вычисляются все неизвестные. (Для общности можно выполнить 3-й шаг, поделив последнее уравнение на главный коэффициент).
Обратный ход. Из последней строки полученной системы (2.3,6) находим значение неизвестного *з
_ъ\Р
а(2) ' аъъ
Подставляя его во вторую строку системы (2.3,6), получим значение x-i
х2 =Ь^2) - « 23);с3 • |
|
Имея х2,х 3, аналогичным образом найдем х, из |
первого |
уравнения этой же системы: |
|
х ^ Ь ^ - а ^ - а ^ . |
|
Перед обобщением метода на случай п уравнений с п неизвестными рассмотрим простой численный пример.
■Пример 2.1. Методом Гаусса решить систему уравнений:
2х{ +Лх7+Злг3 = 4,
3JC +х2 -2х3 = -2, ►
4*, +1 \х2 +7*з = 7.
Составим матрицу коэффициентов, включая свободные члены (расширенную матрицу):
2 4 3 4 ' Л<°> = 3 1 -2 i -2 4 11 7 7
Прямой ход
1-й шаг 1-ю строку матрицы делим на аи -2; Умножаем полученную строку сначала на (-3) и складываем со 2-й, а затем на (-4) и складываем с 3-й:
1 |
2 |
1,5 |
2 |
Ат = 0 |
-5 |
-6,5 |
-8 |
0 |
3 |
1 |
- 1-1 |
2-й шаг 2-ю строку матрицы Ат делим на а22 - —5; Умножаем полученную строку на (-3) и складываем с 3-й строкой этой же матрицы:
1 2 |
1,5 |
2 |
|
Л(2)= 0 |
1 |
1,3 |
i 1,6 |
О |
0 |
-2,9 |
|-5,8 |
Обратный ход
Из последнего уравнения (3-я строка матрицы) получаем
Из 2-го уравнения находим х2 = 1,6 -1,3 • х3 = 1,6 -1,3 • 2 = -1.
Из 1-го уравнения получаем х, = 2 -2 х2-1,5-х3 = 2—2 • (—1)—1,5-2 = 1
Таким образом, полученное решение имеет вид Х(1, -1,2).
Аналогично методом Гаусса решается система линейных алгебраических уравнений и-го порядка. Процесс расчета представим в виде, удобном для дальнейшего программирования.
Запишем систему уравнений п -го порядка в виде
//
(2.4)
(J -1,2,...,и).
Если aj)0) Ф0, а также ведущие элементы остальных строк,
получаемых в процессе вычисления, отличны от нуля, то система за п шагов приводится к треугольному виду
х, +
7=/-И
(/=1,2, ...п).
Коэффициенты системы при этом вычисляются по формулам |
|
||||
|
|
|
- тГ ] ■ |
\ |
(2.6) |
|
|
|
|
|
|
где |
т(к-1) |
а(к~]) |
|
(2.7) |
|
__ |
|
||||
|
|
я,{к-1) 5 |
|
|
|
|
(Л=1,2,..., п\ |
/=£+!,..., п\ j=k+\,...,n). |
|
||
Обратный ход осуществляется по формулам: |
|
||||
|
|
х» |
Л(»-1) * |
|
(2.8) |
|
|
|
|
||
|
|
XJ =bj n - X X f |
■** • |
(2.9) |
|
|
|
|
*=;+! |
|
|
|
|
(/=»-1,-, 1). |
|
|
|
|
Решение этого примера с использованием электронных |
||||
таблиц Excel приведено в разделе 2.9.1. |
|
|
|||
Н |
Алгоритм метода Гаусса: |
|
|
||
|
1) Ввести все коэффициенты а*р ,b}0^ |
|
|
2) Для |
I до п |
|
Для j=k+1 до п |
вычислить параметры т по формулам (2.7).
Для /=А+1 до п вычислить коэффициенты а и в по формулам (2.6).
Конец по /. Конец поj.
Конец по к.
3)Вычислить хппо формуле (2.8).
4)Для j=n-1до 1
вычислить х) по формулам (2.9). 5) Конец.
Впроцессе решения системы возможны три случая:
1)Решение системы существует и является единственным,
когда матрица коэффициентов не вырождена (при этом на последнем шаге решения получается одно уравнение с одним неизвестным).
2)Система уравнений вообще не имеет решений (такой случай имеет место, когда на некотором шаге получается строка, в которой все коэффициенты при неизвестных равны нулю, а свободный член не равен нулю).
3)Система уравнений имеет бесконечное множество решений (это получается, когда на некотором шаге в системе получается строка, в которой все коэффициенты и свободный член равны нулю).
$ При практическом применении метода Гаусса следует обратить внимание на следующие моменты:
1.Если в ходе приведения матрицы А к треугольному виду на главной диагонали окажется элемент, равный нулю, эта схема расчета формально непригодна, хотя система может иметь единственное решение.2
2.В процессе вычислений встречаются ведущие элементы, которые малы по сравнению с другими элементами соответствующих строк. Это обстоятельство может привести к значительным ошибкам округления.