
- •Примеры постановки и решения задач в Mathcad и Excel «Решение систем линейных алгебраических уравнений (слау)»
- •Решение систем уравнений в Mathсad:
- •Решение линейных алгебраических систем слау в Excel
- •«Решение задач линейного программирования (лп)»
- •«Решение транспортной задачи (тз) )»
- •«Решение задачи о назначениях (зн»
- •Решение задачи х.1
Приложение В1
Примеры постановки и решения задач в Mathcad и Excel «Решение систем линейных алгебраических уравнений (слау)»
Система линейных алгебраических уравнений, записанная в нормальной форме имеет вид:
A*X = b. (1)
где A – неособая квадратная матрица,b – заданный числовой вектор,X – искомый вектор.
Вектор решения Xможно получить следующими способами: 1) с помощью обратной матрицы:X=A-1*B; 2) применением встроенной функцииMathСadlsolve,, а также Find иMinner; 3) по формулам Крамера; 4) сведением к задаче линейного программирования, когда минимизируется невязка левой и правой части водном из уравнений, а остальные уравнения являются ограничениями. При этом используется функцияMathсadFind … Minimized, либо программа «Поиск решения» в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, . . .) - возвращает приближенное решение системы уравнений. Число аргументов должно быть равно числу неизвестных.