- •Г.Г КАШЕВАРОВА, Т.Б. ПЕРМЯКОВА
- •Предисловие
- •Введение
- •Общие сведения о математическом моделировании.
- •Численные методы
- •Элементы теории погрешности
- •Понятия мастера и надстройки
- •Глава 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
- •Литература
- •Оглавление
- •Численные методы решения задач строительства на ЭВМ
Четвертая итерация дает
х,(4) =1,020; 4 4)= 2,022; х<4)= 0,991 и т.д.
Потребуется 8 итераций, чтобы получить решение СЛАУ (2.36) с точностью £• = 0,001. Точное решение jct=1/ х2=3; х3=1.
Решение данного примера с использованием электронных таблиц Excel приведено в разделе 2.9.3.
2.3.2. Метод Гаусса - Зейделя.
Метод представляет собой модификацию метода Якоби. Основная идея метода заключается в том, что при вычислении
(к+ 1)-й итерации неизвестное |
вычисляется с учетом уже |
найденных: x,(i+l) ,х 2*+|) >• ••*м+1)
Проиллюстрируем метод для и=3. Пусть система линейных алгебраических уравнений уже приведена к нормальному виду:
*i =Pi + а 12х2 + а |3х3,'
|
|
Х2 — Р2 + а 21-*1 + а 23*3’ ’ |
|
(2.39) |
||
|
|
х з = Рз + а 3,х, + а 32х2. |
|
|
||
|
Выбираем |
произвольное |
начальное |
приближение |
||
Х (0) |
х20) |
J4°>} и подставляем в первое уравнение системы |
||||
(2.39) |
|
|
|
|
|
|
|
|
|
*1(') = Р |+ а 12*20)+ а 13*30) |
|
|
|
Полученное |
первое |
приближение |
х,(1) подставляем во |
второе |
||
уравнение системы (2.39) |
|
|
|
|||
|
|
|
=Р 2 + а 2|х,(1) + а 23х^0) |
|
|
|
Используя |
находим х\1)из третьего уравнения |
|
*3 ^~ Рз + <*31*1 ^+ а 32*2 *
Этим заканчивается построение первой итерации
/ V X? xj” }.
(1)
Используя значения X , можно таким же способом построить следующие итерации. Итерацию с номером (А:+1) можно представить следующим образом:
х,(*+|) = Д |
+а|2*24) + а ,з*з*)» |
|
|||
х?+1) = рг + а д |
(*+1) + сс22х ? \ |
(2.40) |
|||
х\М ) = Р з + ^ к+1)+ а п х |
^ |
|
|||
Итерационный процесс продолжается до тех пор, пока два |
|||||
|
_ (к) |
_ |
(*+1) |
|
|
соседних приближения |
X |
, Х |
не |
станут |
достаточно |
близкими. Критерий близости может быть задан следующим образом:
(к) |
v(*+l) |
<6. |
(2.41) |
max х, |
- х; |
За приближенное решение системы (2.28) с точностью в принимается (£-Н)-я итерация, т.е.
(* + i)
Х- Х
■Пример 2.3. Методом Гаусса - Зейделя решить ту же самую систему (2.36), которую решали методом Якоби.
Система, приведенная к нормальному виду:
х, =0,75-0,125x2 +0,5х3, х2 = 1,5 +0,333*! +0,167*з, ► *3 =1,25 +0,25*! - 0,25*2-
В качестве нулевого приближения возьмем вектор свободных членов р
(0) |
_ |
, ( 0 ) |
1,25 |
*!(0)=0,75; *2 |
~ 1,5 ; |
|
Применяя процесс Зейделя , последовательно получим
х{'}=0,75 - 0,125• 1,5 + |
0,5• 1,25 = 1,188; |
JC‘° = 1,5 +0,3331,188 +0,167 1,25 = 2,104; • |
|
4 ° = 1,25+0,25 1,188 |
-0,25 -2,104 = 1,021. |
лг,(2) =0,75-0,125-2,104+ 0,5 1,021 = 0,997; |
|
4 2) = 1,5+ 0,333 • 0,997 + 0,167 • 1,021 = 2,003; |
ит.д. |
x f } = 1,25 + 0,25 • 0,997 - 0,25 • 2,003 = 0,999 |
|
Точное решение этой системы имеет вид: х\ = \; х2=3; л'3=4. |
|
Решение данного примера с использованием электронных таблиц Excel приведено в разделе 2.9.4.
2.3.3. Условия сходимости итерационного процесса
Прежде чем применять итерационные методы для решения какой-либо системы, необходимо убедиться, что решение может быть получено, т.е. итерационный процесс сходится к точному решению.
Доказывается теорема [8], что, если хотя бы одна из норм матрицы нормальной системы (2.30) меньше единицы, то итерационный процесс сходится к единственному решению. Т.е. изложенные выше итерационные методы можно использовать для систем, удовлетворяющих одному из следующих условий [12]:
/» |
|
HI, = m a x ^ |a ?/| <1, |
либо |
П
(2.42)
/=I
А для системы (2.28) итерационный процесс сходится, если элементы матрицы А удовлетворяют условию
КI>:>2 КI* v= и )* |
(2-43) |
i*j |
|
т.е. модули диагональных элементов каждой строки больше суммы модулей всех остальных элементов.
■Пример 2.4. Показать, что для системы (2.36) процесс итерации сходится к точному решению.
Решение. Матрица приведенной к нормальному виду системы (2.37) равна:
0 -0,125 0,5
0,333 0 0,167
0,25 -0,25 0
Для проверки достаточного условия сходимости вычислим нормы матрицы а:
ЦаЦ, = max{o,625;0,5;0,5} = 0,625;
||а||2 = max{0,583;0,375;0,667} = 0,667;
Цаг||з = V0,1252 +0,52 +0,3332 +0,1672 +0,252 +0,252 *0,728.
Достаточное условие (2.42) сходимости итерационного процесса выполнено.
Таким образом, теорема сходимости накладывает жесткие условия на коэффициенты заданной системы уравнений А Х = В Однако, если det А?Ч), то с помощью линейного комбинирования уравнений исходной системы, последнюю всегда можно заменить эквивалентной системой, такой, что условия сходимости будут выполнены.
Практически эти преобразования можно выполнить следующим образом:
из заданной системы выделяют уравнения с коэффициентами, модули которых больше суммы модулей остальных коэффициентов. Каждое выделенное уравнение записывают так в строку новой системы, чтобы наибольший по модулю коэффициент оказался диагональным.
Из оставшихся уравнений составляют линейно-независимые комбинации с таким расчетом, чтобы был соблюден указанный выше принцип комплектования новой системы, и все свободные строки оказались заполненными.
■Пример 2.5. Привести систему к виду, годному для применения
итерационных методов решения:
|
г |
(A) |
*, + 3*2 - 4*з =3, |
(B) |
< 2,5*, + 7*2 —*3 =3,5, |
(C) |
4,5*, -2*2 +З*3 =-1,5. |
|
ч. |
Решение:
1) В уравнении (В) коэффициент при *2 по модулю больше суммы модулей остальных коэффициентов. Принимаем уравнение (В) за 2-е уравнение новой системы:
2,5*i + 7 * 2 - *з = 3,5;
2) Из оставшихся неиспользованных уравнений системы составляем линейно независимые между собой комбинации. За 1-е уравнение новой системы можно взять линейную комбинацию (2С) + (А):
10*1 -*2 + 2*з = 0;
3) За 3-е уравнение новой системы можно принять линейную комбинацию (2А) - (В), т.е.
-0,5*] - *2 - 7*з = 2,5;
Витоге получаем преобразованную систему линейных уравнений,
эквивалентную исходной,
10*, —*2 + 2*з =0, 2,5*, + 7*2 - *3 = 3,5, 0,5*, + *2 + 7*з = -2,5
и удовлетворяющую условиям сходимости итерационного процесса (2.43):
jlOj >[-l| +j2|;
|7j >|2,5j+|-l|;
|7|>|0,5| +il|.
Не существует общей теории, позволяющей сравнить скорость сходимости рассмотренных выше методов. Из наиболее важных результатов следует отметить следующие.
1.Условия (2.42), (2.43) являются достаточными условиями для сходимости итерационного процесса, но они не являются необходимыми. Иными словами, диагональное преобладание не требуется для сходимости как метода Якоби, так и метода Гаусса - Зейделя.
2.Матрица А должна быть “почти диагональной” для сходимости метода Якоби, однако это не совсем то же самое, что диагональное преобладание.
3.Столбцовое диагональное преобладание
достаточно для сходимости. Метод Гаусса - Зейделя будет сходиться к точному решению, если матрица А “почти нижняя треугольная”[30].
4.Если матрица А симметричная положительно определенная, то метод Гаусса - Зейделя сходится ~ в 2 раза быстрее метода Якоби. В других случаях может быть и наоборот. Существуют примеры, для которых метод Якоби сходится, а метод Гаусса - Зейделя расходится.
2.3.4.Оценка погрешности приближенного решения
иподсчет числа итераций
Пусть задана допустимая погрешность вычислений 8, |
X - |
|||||||
есть вектор точных значений неизвестных, |
а |
Х ^ - |
к-е |
|||||
приближение значений неизвестных. |
|
|
|
|
|
|||
Отклонение приближения |
X |
от решения |
X |
по норме не |
||||
будет превышать е, если [45]: |
|
|
|
|
|
|
||
\Х - X |
(к) < |
И |
1у<*> |
|
л(*-1) 1<ИГ |
|
|
|
|
1 - ы 1 |
■ |
г 1 - 1 |
•|И<^ |
(2.44) |
где а - одна из трех норм матрицы а,
-та же норма вектора р ,
к- число итераций, необходимое для достижения заданной точности.
Используя неравенство (2.44), можно оценить погрешность каждого результата (каждой итерации) по формуле
(2.45)
IIII 1 - а
ачисло итераций {приближений), дающих ответ с заданной точностью 6, молено определить с помощью соотношения
< 8 . |
(2.46) |
■Пример 2.6. Для системы уравнений (2.36) (см. пример 2.5) оценить погрешность 4-го приближения и определить число итераций дающее ответ с точностью 0,001.
Решение: |
|
|
|
'1,036' |
' |
1,02 ' |
|
х (3)= 2,076 |
— (4) |
2,022 |
|
X = |
|
||
1,057 5 |
|
0,991 |
> |
|лг(4) _ х (3)|| = max {0,016, 0,054, 0,066}=0,066;
|]ос|| =0,625 (см. пример 2.4).
Следовательно, X |
дает значение корня X с погрешностью, не |
|
На |
•0,066 = 0,1 1 . |
|
превышающей величины |
а |
|
1 - |
0,375 |
Число итераций вычислим по формуле (2.46), используя 1-ю норму матрицы Цсс^ =0,625 и вектора ||р|| = 1,5 соответственно:
1 \ |
Щ < е => ’ |
1,5 < 0,001 0,625(t+l) < 0,00025 => |
l-faf, |
1 |
0,375 |
=> (k +1)lg0,625 < lg0,00025 => (£ + !)•(-0,204) < (-3,6) => к >16,6 => к * 11.
Фактическое число итераций для достижения заданной точности равно 8 (пример 2 .2), то есть, теоретическая оценка оказывается завышенной.
2.4. Некоторые рекомендации по использованию методов
1) Прямые методы имеют то преимущество, что они конечны, и теоретически с их помощью можно решить любую невырожденную систему уравнений. Но прямые методы решения СЛАУ, в частности, метод Гаусса для систем общего вида, не рекомендуется применять при очень больших п ( п > 102 ) из-за нарастающих ошибок округления, связанных с выполнением большого числа арифметических операций. В итерационных методах ошибки округления, как правило, меньше.
2) Итерационные методы следует использовать только при определенных обстоятельствах, поэтому очертим основной круг идей и дадим рекомендации относительно того, когда они могут быть уместны [26, 30]:
•Когда итерационный метод сходится, время вычислений пропорционально п2на каждую итерацию, в то время как для метода Гаусса время вычислений пропорционально п3 Если для решения системы требуется менее п итераций, то общие затраты машинного времени будут меньше.
•Итерационные методы наиболее рациональны для разреженных матриц, имеющих большой порядок {п)% поскольку они требуют гораздо меньше оперативной памяти,
чем прямые методы (~п2 машинных слов - для метода Гаусса и ~рп - для итерационного, где р - число ненулевых элементов в одной строке).
•Чтобы итерационный метод давал уменьшение числа арифметических операций для разреженной матрицы общего вида,, необходимо выполнение условия
. П2 |
, |
А < — |
, где А - число итерации; |
3р |
|
а для ленточной матрицы с шириной ленты т:
т
к < —
9
•Итерационные методы для плохо обусловленных задач нисколько не лучше прямых методов и дают такую же чепуху, как и прямые.
Методы Якоби и Гаусса - Зейделя являются классическими итерационными методами, сыгравшими определенную роль в развитии вычислительной математики.
По мере увеличения размерности задач, достигающей в настоящее время десятков и сотен тысяч уравнений, появились новые итерационные методы, которые можно рассматривать как