Система MathCAD Plus 6.0 Pro



ремонт кофемашин

Система MathCAD Plus 6.0 Pro - стр. 390


При решении систем уравнений и неравенств используется итерационный метод Левенберга — Маркардта, содержащийся в известном и свободно распространяемом пакете алгоритмов численных методов MINPACK. Этот метод пытается найти нули или минимум среднеквадратичной погрешности при решении заданной системы уравнений или системы неравенств. При решении с применением аппарата комплексных чисел раздельно решаются действительная и мнимая части уравнений.

При решении вычисляется вектор невязки. Если его величина меньше TOL, система возвращает вектор переменных-неизвестных. Если для решения используется функция find, при величине вектора невязки больше TOL система сообщает, что решение не найдено. Когда используется функция minerr, вектор неизвестных возвращается даже в том случае, когда значение вектора невязки больше TOL. Наконец, если не обнаружено схождение за заданное число итераций, выдается сообщение об отсутствии сходимости (как при применении функции find, так и minerr). В любых случаях величина вектора невязки определяется значением переменной ERR.

Для вычисления определителей матрицы и ее инвертирования используется LU-разложение. При этом матрица M разлагается в произведение нижней треугольной матрицы L и верхней U (т. е. M = L × U). Такой метод хорошо известен. В частности, он позволяет:

n    вычислить определитель исходной матрицы как произведение диагональных элементов матриц L и U;

n    вычислить обратную матрицу из решения матричного уравнения M × Vj = ej, где e -- вектор с единицей на j-м месте и нулями в остальных позициях, V-- вектор решения, который образует столбцы обратной матрицы для каждого j;

n    свести решение системы линейных уравнений M × X = Y к решению более простых систем с матрицами L, U и Y.

Для сортировки компонентов вектора и матрицы используется алгоритм древовидной сортировки. Особенности основных функций сортировки следующие:

sort -- располагает компоненты вектора в порядке возрастания его действительных частей, а если вектор содержит чисто мнимые компоненты -- то в порядке возрастания мнимых частей;

csort -- сортирует матрицу по заданному столбцу путем перестановки строк матрицы;

rsort -- сортирует матрицу по заданной строке путем перестановки столбцов матрицы.

Сортировка по данному алгоритму не является вполне устойчивой. К примеру, при сортировке матрицы по столбцу с равными элементами строки, содержащие эти элементы, будут смежными в сортируемой матрице с их произвольным порядком.




Содержание  Назад