2.4.2. Решение систем линейных уравнений
Не намного сложнее решение системы линейных уравнений:
a1,1x1 + a1,2x2 + ... + a1,nxn = b1
a2,1x1 + a2,2x2 + ... + a2,nxn = b2
...........................................
an,1x1 + an,2xn + ... + an,nxn = bn
Здесь a1,1, a1,2,...,an,n - коэффициенты левой части системы, b1, b2,...,bn - свободные члены и x1, x2,..., xn - неизвестные, которые мы хотим найти.
Эта система может быть представлена в матричном виде как AX=B, где A — квадратная матрица коэффициентов левой части системы уравнений (размера nn), B —вектор-столбец свободных членов и X — искомый вектор неизвестных. Отсюда вытекают различные способы решения, в том числе по форме аналогичные решению одиночного уравнения: X=B/A (с применением матричного деления) или X=A-1B (с инвертированием матрицы A) и так далее. Есть и специальные методы решения систем линейных уравнений, например метод Гаусса, который изучается в школе.
В системе Mathcad решение систем линейных уравнений резко упрощается, поскольку для этого введена функция lsolve(A, B). Она возвращает вектор неизвестных X. Функция анализирует матрицу A и выбирает наиболее подходящий метод решения, дающий минимальную погрешность результата.
Пример 2.16. Решить систему линейных уравнений:
3x1 + 2x2 + x3 = 4,
x1 + x2 - x3 = 1,
x1 - 2x2 + x3= 3.
Решение с применением операции обращения матрицыA имеет вид:
Теперь решим эту же систему с помощью функции lsolve (A, B):
Результаты решений оказались идентичными.
Пример 2.17. Решить заданную в матричном виде систему линейных уравнений с комплексными коэффициентами правой части системы:
Теперь решим ту же систему с помощью функцииlsolve(A, B):
Результаты опять-таки аналогичны. Так что мы можем смело решать даже системы линейных уравнений с комплексными элементами матрицыA и вектора B.
2.4.3. Методы решения нелинейных уравнений вида F(x)=0
Одиночное нелинейное уравнение, например трансцендентное, можно задать в одной из двух форм:
F(x)=0 или f(x)=expr,
где expr - выражение. Второе уравнение всегда можно представить в виде F(x)=f(x)-expr=0, то есть в форме первого уравнения.
Далеко не всегда нелинейные уравнения имеют аналитическое решение. Имеется множество методов численного решения нелинейных уравнений. Рекуррентные уравнения некоторых из них представлены ниже без описания сути методов:
Простых Метод Метод Модифицированный
итераций Ньютона Рыбакова метод Ньютона
xn+1=F(xn) xn+1=xn-F(xn)/F'(xn) xn+1=xn-F(xn)/M xn+1=xn-xF(xn)/(F(xn+x)-F(xn))
Метод Комбинированный метод
хорд секущих-хорд
xn+1=xn-(xn-a)F(xn)/(F(xn)-F(a)) при a=const xn+1=xn-(xn-xn-1)F(xn)/(F(xn)-F(xn-1))
xn+1=xn-(xn-b)F(xn)/(F(b)-F(xn)) при b=const
Все эти методы решают уравнение вида F(x)=0, кроме метода простых итераций, требующего довольно тривиального приведения уравнения к виду x=f(x). Метод хорд ищет решение в интервале от a до b, причем одна из границ считается неподвижной - в зависимости от того, какая из границ - a или b - неподвижна, обеспечивается переход к той или иной итерационной формуле. В других методах приходится задавать начальное приближение x0. Итерации обычно ведутся до тех пор, пока соблюдается условие |xn-1-xn|>, где - заданная абсолютная погрешность вычислений.
Ни один из представленных простых методов не обеспечивает определение всех корней, если их число больше 1. Для поиска всех корней используются специальные алгоритмы, например исключения уже найденного корня xi делением F(x) на (x-xi) для всех i.
Пример 2.18. Найти методом простых итераций корень уравнения x - sin(x) - 0,25 = 0. Перенесем -sin(x)-0,25 в правую часть уравнения и с помощью системы Mathcad, задав x0=1,3, найдем 6 дополнительных итераций выражения x= sin(x) + 0,25:
Нетрудно заметить, что решение уравнения сходится монотонно. На двух последних итерациях получено значение x, равное 1,172. Вектор решения транспонирован для записи его в виде строки, а не столбца.
Если решение приближается к некоторому корню, то говорят, что оно сходится к нему. Исследование сходимости численных методов решения уравнений - сложная задача и не всегда практически осуществимая. Если решение сходится всего за несколько итераций, то говорят о быстрой сходимости, при десятках-сотнях итераций можно говорить о медленной сходимости. Наконец возможны уравнения, решения которых при том или ином методе просто не сходится.
2.4.4. Решение нелинейных уравнений F(x)=0
Современные СКМ обычно не требуют детальной реализации численных методов пользователем. Более того, они используют наиболее совершенные методы решения уравнений вида F(x) = 0, как правило, обеспечивающие быструю сходимость. При этом обычно решение ищется в два этапа:
Выявляются области изоляции корней, т.е. области изменения x в пределах которых имеется только один корень.
Уточняются значения каждого корня с заданной погрешностью TOL (по умолчанию 10-3).
Во время первого этапа часто используется графический метод решения. Он заключается в построении графика функции F(x) и приближенной (на глаз) оценке значений x, при которой график F(x) пересекает ось абсцисс. Можно также ориентироваться на следующие свойства функций:
если функция f(x) непрерывна на отрезке [a, b] и имеет на его концах разные знаки, т.е. f(a)f(b)<0, то в этом отрезке есть хотя бы один корень;
если f(x) непрерывна и монотонна (f’(x) не меняет знак) на отрезке [a, b] и при этом f(a)f(b)<0, то на этом отрезке корень будет единственным.
После этого используется функция Mathcad для уточнения (поиска) корня:
root(Выражение,Имя_переменной).
Эта функция возвращает с заданной переменной TOL погрешностью значение переменной, при котором Выражение равно 0. Функция реализует вычисления итерационным методом, причем перед ее применением надо задать начальное значение переменной. Это особенно полезно, если возможно несколько решений. Тогда выбор одного из них определяется начальным значением переменной.
Пример. 2.19. Найти корни уравнения F(x) = x2 + 2x - 30. Решение представлено на рис. 2.2. Нетрудно заметить, что это уравнение имеет два корня и оба они найдены.
Рис.2.2. Пример графического и численного решения уравнения x2 + 2x - 30 = 0
В новых версиях Mathcad возможности этой функции расширены, и она может записываться в виде:
root(Выражение,Имя_переменной,a,b).
Здесь a и b — границы численного интервала для поиска корней.
Такое применение функции root позволяет избежать вывода корней, не представляющих интереса при решении задач, например, физических. При не нужно задавать начальное значение x, поскольку эта переменная определена в заданном интервале [a,b].
Пример 2.20. Найти только реально существующий (положительный) корень уравнения x2 - 9 = 0. Имеем на отрезке [0, 5]:
Выражение, корень которого находится функцией root, может быть представлено в виде F(x) или даже F(x) = F1(x) - F2(x), если решается уравнение F1(x) = F2(x).
- Новые информационные технологии
- Часть 3. Основы математики и математическое моделирование Учебное пособие
- Введение
- Глава 1. Основы компьютерной математики
- 1.1. Математика и ее средства
- 1.1.1. Аксиоматический метод и структуры математики
- 1.1.2. Компьютерная математика как часть математики
- 1.1.3. Классификация средств компьютерной математики
- 1.1.4. Структура систем компьютерной математики
- 1.1.5. Обзор систем компьютерной математики
- 1.2. Система компьютерной математикиMathcad
- 1.2.1. Состав системы Mathcad и ее запуск
- 1.2.2. Основы работы с системой Mathcad 2001
- 1.2.3. Работа с текстовым редактором
- 1.2.4. Работа с формульным редактором
- 1.2.5. Операции вывода и присваивания
- 1.2.6. Шаблоны математических операторов и символов
- 1.2.7. Ошибки и прерывание вычислений
- 1.3. Простые типы данных
- 1.3.1. Числовые данные
- 1.3.2. Вещественные числа и их форматы
- 1.3.3. Комплексные числа
- 1.3.4. Строковые данные
- 1.3.5. Символьные данные и выражения
- 1.4. Сложные типы данных
- 1.4.1. Множества и подмножества
- 1.4.2. Массивы
- 1.4.3. Векторы и матрицы
- 1.5. Константы, переменные, операторы и функции
- 1.5.1. Числовые константы
- 1.5.2. Строковые константы
- 1.5.3. Переменные
- 1.5.4. Операторы
- 1.5.5. Выражения и функции
- 1.6. Основы графической визуализации вычислений
- 1.6.1. Понятия об основных геометрических объектах
- 1.6.2. Построение графиков функций одной переменной
- 1.6.3. Построение графиков поверхностей
- 1.7. Средства программирования в системеMathcad
- 1.7.1. Задание операторов пользователя
- 1.7.2. Задание программных модулей
- 1.7.3. Особенности применения программных модулей
- Методические указания
- 2.1.2. Вычисление произведений
- 2.1.3. Вычисление пределов
- 2.3. Вычисление производных и интегралов
- 2.3.1. Определение производной и полного дифференциала
- 2.3.2. Вычисление производных
- 2.3.3. Определение интегралов
- 2.3.4. Вычисление интегралов
- 2.4. Решение уравнений и систем уравнений
- 2.4.1. Простое линейное уравнение и его решение
- 2.4.2. Решение систем линейных уравнений
- 2.4.5. Поиск всех корней степенного многочлена()
- 2.4.6. Решение систем нелинейных уравнений()
- 2.4.7. Реализация итерационных вычислений
- 2.5. Решение дифференциальных уравнений()
- 2.5.1. Основные понятия о дифференциальных уравнениях()
- 2.5.2. Решение систем оду()
- 2.5.3. Решение оду с помощью функции odesolve()
- 2.5.4. Решение жестких систем оду()
- 2.6. Решение задач оптимизации и линейного программирования
- 2.6.1. Основные понятия оптимизации
- 2.6.2. Пример оптимизации раскроя железного листа
- 2.6.3. Поиск минимума тестовой функции Розенброка
- 2.6.4. Функции maximize и minimize системы Mathcad
- 2.7. Разложение функций в ряды
- 2.7.1. Определение рядов Тейлора и Маклорена
- 2.7.2. Разложение в ряд Тейлора в системе Mathcad
- 2.7.3. Ряды Фурье()
- 2.7.4. Быстрые прямое и обратное преобразования Фурье()
- 2.7.5. Примеры преобразований Фурье()
- 2.7.6. Альтернативные преобразования Фурье()
- 2.8. Табличная интерполяция и аппроксимация
- 2.8.1. Теоретические основы интерполяции и экстраполяции
- 2.8.2. Интерполяция и аппроксимация по общей формуле Лагранжа
- 2.8.3. Полиномиальная интерполяция и аппроксимация
- 2.8.4. Кусочно-линейная и сплайновая аппроксимации в Mathcad
- 2.9. Статистическая обработка данных
- 2.9.1.Эксперименты, события и другие понятия статистики
- 2.9.2.Решение задач комбинаторики
- 2.9.3. Дискретные и непрерывные случайные величины
- 2.9.4. Законы распределения и статистические функции Mathcad
- 2.9.5. Регрессия и метод наименьших квадратов
- 2.9.6. Выполнение линейной регрессии в среде Mathcad
- 2.9.7. Полиномиальная регрессия в Mathcad
- 2.9.8. Проведение нелинейной регрессии()
- 2.9.9. Экстраполяция и предсказание
- 2.9.10. Сглаживание данных
- Методические указания
- 10 Главных вопросов
- Глава 3. Основы математического моделирования
- 3.1. Основные понятия моделирования
- 3.2. Основные виды моделей и их свойства
- 3.2.1. Основные виды моделей
- 3.2.2. Основные свойства моделей
- 3.3. Цели, принципы и технология моделирования
- 3.3.1. Цели моделирования
- 3.3.2. Основные принципы моделирования
- 3.3.3. Технология моделирования
- 3.3.4. Основные методы решения задач моделирования
- Оценка обусловленности вычислительной задачи – еще одно обязательное требование при выборе метода решения и построении математической модели.
- 3.3.5. Контроль правильности модели
- 3.4. Задачи моделирования полета камня
- 3.4.1. Постановка задачи моделирования
- 3.4.2. Концептуальная формулировка задачи
- 3.4.3. Построение математической модели
- 3.4.4. Выбор метода решения
- 3.4.5. Программная реализация модели на эвм
- 3.4.6. Проверка адекватности модели
- 3.4.7. Анализ результатов моделирования
- Методические указания
- 10 Главных вопросов
- Глава 4. Практика математического моделирования
- 4.1. Моделирование процессов на основе известных формул
- 4.1.1. Моделирование изменения параметров атмосферы
- 4.1.2. Моделирование закона Мура
- 4.1.3. Моделирование преодоления самолетом звукового барьера
- 4.2. Моделирование на основе конечно-разностных методов
- 4.2.1. Моделирование Броуновского движения частиц
- 4.2.2. Моделирование диффузии
- 4.2.3. Моделирование торможения автомобиля()
- 4.2.4. Моделирование падения парашютиста()
- 4.2.5. Моделирование генератора на туннельном диоде()
- 4.2.6. Моделирование развития и угасания эпидемии
- 4.3. Моделирование колебательных систем
- 4.3.1. Анализ линейной колебательной системы
- 4.3.2. Анализ нелинейной колебательной системы Ван дер Поля
- 4.3.3. Моделирование системы Дафинга с внешним воздействием
- 4.3.4. Хаос и моделирование аттрактора Лоренца()
- 4.4. Моделирование рассеивания альфа-частиц()
- 4.5. Моделирование биологических и экономических систем
- 4.5.1. Модель системы «хищник-жертва» Лотки-Вольтерра
- 4.5.2. Модель системы «хищник-жертва» с логистической поправкой
- 4.5.3. Модель системы «хищник-жертва» Холлинга-Тэннера
- 4.5.4. Моделирование замкнутой экономической системы
- 4.6. Моделирование на основе линейного программирования
- 4.6.1.Оптимальные экономико-математические модели
- 4.6.2. Решение задач максимизации объема продукции
- 4.6.3. Решение задач минимизации ресурсов
- 4.6.4. Решение транспортной задачи
- 4.6.5. Задачи целочисленного программирования с булевыми переменными
- 4.7. Сетевые модели в оптимизации управленческих решений
- 4.7.1. Задача поиска кратчайшего пути
- 4.7.2. Задача о распределении потоков в сетях
- 4.8. Обработка и моделирование сигналов и изображений
- 4.8.1. Основы спектрального метода моделирования сигналов
- 4.8.2. Спектральное моделирование на основе точных формул интегрирования()
- 4.8.3. Улучшенное спектральное моделирование дискретных сигналов()
- 4.8.4. Вейвлеты - новый базис представления сигналов()
- 4.8.5. Вейвлет-преобразования()
- 4.8.6. Примеры вейвлет-обработки сигнала - временного ряда()
- 4.8.7. Анализ сигналов по вейвлет-спектрограммам
- 4.9. Обработка изображений
- 4.9.1. Средства обработки изображений
- 4.9.2. Обработка монохромных изображений
- 4.9.3. Обработка цветных изображений
- 4.9.4. Функции для работы с файлами и матрицами рисунков
- 4.9.5. Вейвлет-компрессия рисунков в пакете Wavelet Extension Pack
- 4.10.1. Подготовка к работе с матричной лабораторией matlab
- 4.10.2. Имитационное моделирование и расширение Simulink
- Методические указания
- 10 Главных вопросов
- Список литературы
- Глава 1. Основы компьютерной математики 4
- Глава 2. Основы математических вычислений 50
- Глава 3. Основы математического моделирования 105
- Глава 4. Практика математического моделирования 121