Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

3. Решение системы линейных уравнений.




3. Решение системы линейных уравнений.

Для решения системы линейных уравнений вида

M × x = v

где M – матрица коэффициентов системы уравнений;

v - вектор правых частей этой системы;

x – искомый вектор решений,

служит встроенная функция lsolve (M, v).

Замечание. Матрица коэффициентов системы уравнений М не должна быть вырожденной.

В следующем примере надо найти вектор решений системы уравнений:

Найдя искомый вектор х, произведем проверку, то есть убедимся, что выполняется равенство

M × x = v .

 

Пример 4.

4. Решение системы нелинейных уравнений.

Для решения системы нелинейных уравнений используется так называемый решающий блок. (Начиная с версии Mathcad 2000 PRO с его помощью можно решить систему, содержащую до 200 уравнений).

Выполните следующие действия:

1. задайте начальные приближения для всех неизвестных, входящих в систему уравнений;

2. напечатайте ключевое слово Given – оно указывает, что далее следует система уравнений (шрифт и регистр значения не имеют);

3. ниже введите систему уравнений (причем для обозначения знака равенства нажмите одновременно [Ctrl] [=] );

4. введите любое выражение, которое включает функцию Find (ее аргументы - неизвестные, шрифт и регистр значения не имеют).

Замечание 1. Решающий блок может также содержать ограничения-неравенства, использующие символы <, >, £ или ³.

Замечание 2. В решающий блок нельзя включать:

1. ограничения, содержащие знак ¹;

2. присвоения (содержащие знак: =).

Рассмотрим пример - надо найти при заданных ограничениях решение системы нелинейных уравнений:

 

Пример 5.

Если с помощью функции Find решение найти не удается, попробуйте поставить вместо нее функцию Minerr (см. таблицу 5 ) . Эта функция использует тот же алгоритм, что и функция Find, с той разницей, что, если Find не может найти дальнейшего уточнения решения, ответом будет сообщение об ошибке, а Minerr в этом случае выдаст в качестве ответа найденное приближение, минимизирующее функционал невязки.

Замечание. При использовании функции Minerr необходимо делать дополнительную проверку на разумность полученного решения. Для этого используйте встроенную функцию ERR, выдающую ошибку приближенного решения, полученного с помощью функции Minerr.

Покажем применение этой функции на примере. Требуется найти решение системы нелинейных уравнений:

Причем вы сами можете убедиться, что с помощью функции Find ответ получить не удается.

 

Пример 6.

Решающий блок должен заканчиваться одним из следующих ключевых слов:

Таблица 5. Ключевые слова, допустимые в решающем блоке.

Функция Описание
Find (x, y, …) Находит значения x, y, …, удовлетворяющие системе уравнений.
Minerr (x, y, …) Находит значения x, y, …, наиболее близкие к удовлетворяющим системе уравнений.
Minimize (f, x, y, …) Находит значения x, y, …, при которых функция f принимает свое наименьшее значение.
Maximize (f, x, y, …) Находит значения x, y, …, при которых функция f принимает свое наибольшее значение.

Здесь x, y, … могут быть действительными или комплексными скалярами, векторами или массивами. Если неизвестная одна, результат – скаляр, если неизвестных несколько, результат – вектор решений.

Рассмотрим пример применения функции Maximize.

Пример 7.

- начальное приближение

- система уравнений

Щелкнув правой кнопкой мыши по ключевому слову, завершающему решающий блок, вы увидите всплывающее меню, которое, наряду с привычными командами, содержит также команды, управляющие процессом поиска решения. Рассмотрим их подробнее:

Autoselect – (по умолчанию). Если включена эта опция, Mathcad сам выбирает наиболее подходящий алгоритм решения;

Linear – используется алгоритм линейного программирования. Начальное приближение не требуется;

Nonlinear – используется один из трех алгоритмов:

Conjugate Gradient

Levenberg-Marquardt – не работает с функциями Minimize и Maximize

Quasi-Newton

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...