Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
130
Добавлен:
16.03.2016
Размер:
2.31 Mб
Скачать

Приложение В1

Примеры постановки и решения задач в Mathcad и Excel «Решение систем линейных алгебраических уравнений (слау)»

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

A*X = b. (1)

где A – неособая квадратная матрица,b – заданный числовой вектор,X – искомый вектор.

Вектор решения Xможно получить следующими способами: 1) с помощью обратной матрицы:X=A-1*B; 2) применением встроенной функцииMathСadlsolve,, а также Find иMinner; 3) по формулам Крамера; 4) сведением к задаче линейного программирования, когда минимизируется невязка левой и правой части водном из уравнений, а остальные уравнения являются ограничениями. При этом используется функцияMathсadFindMinimized, либо программа «Поиск решения» вExcel.

Решение систем уравнений в Mathсad:

1) Решение систем линейных уравнений матричным методом

Рассмотрим систему 4 линейных алгебраических уравнения относительно 4 неизвестных х1, х2, …, х4:

x1 + 2x2 + 3x3 + 4x4 = 30

x1 + 2x2 − 3x3 + 4x4 = 10

x2 x3 + x4 = 3

x1+x2+x3+x4= 10

или матричном виде:

Ах=b, гдеA:=;b:=.

Если det A 0, то система и эквивалентное ей матричное уравнение имеет единственное решениех:=А-1b.

2) Решение систем уравнений с помощью функции lsolve

Системы линейных уравнений удобно решать с помощью функции lsolve. Функцияlsolve(А,b) - возвращает вектор решенияxтакой, чтоАх = b.

x := lsolve(A, b)

x= .

3) Решение систем уравнений с помощью функций Find и Minner

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

1. Задать начальное приближение для всех неизвестных, входящих в систему уравнений, т.к. Mathсadрешает эту систему с помощью итерационных методов;

2. Напечатать ключевое слово Given. Оно указываетMathсad, что далее следует система уравнений;

3. Введите уравнения и неравенства в любом порядке. Используйте[Ctrl]+=(т.е. одновременное нажатие двух клавишCtrl и =)для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов<, >, ипанелилогика;

4. Введите любое выражение, которое включает функцию Find, например:х:= Find(х,у).

Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое - либо выражение, содержащее функциюFind,называютблоком решения уравнений.

Пример.Решение системы уравнений с помощью функцииFind

Начальные приближения : x1 := 0 x2 := 0 x3 := 0 x4 := 0

Given

x1 + 2x2 + 3x3 + 4x4 = 30

x1 + 2x2 − 3x3 + 4x4 = 10

x2 x3 + x4 = 3

x1 + x2 + x3 + x4 = 10

Find(x1, x2, x3,x4) =

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

Функция Minerr(x1, x2, . . .) - возвращает приближенное решение системы уравнений. Число аргументов должно быть равно числу неизвестных.