04 - Уравнения и системы уравнений. Лабораторная работа 4 уравнения и системы уравнений
Скачать 461.74 Kb.
|
Уравнения и системы уравнений 55 4. Лабораторная работа №4 УРАВНЕНИЯ И СИСТЕМЫ УРАВНЕНИЙ Цель работы: способы решения уравнений, системы уравнений. Как известно, многие уравнения и системы уравнений не имеют аналитиче- ских решений. В первую очередь это относится к большинству трансцендентных уравнений. Доказано также, что нельзя построить формулу, по которой можно было бы решить произвольное алгебраическое уравнение степени выше четвер- той 1 . Однако такие уравнения могут решаться численными методами с заданной точностью (не более значения заданного системной переменной TOL). 4.1. Численное решение нелинейного уравнения Для простейших уравнений вида f(x) = 0 решение в Mathcad находится с помощью функции root (рис. 4.1). root( f(х1, x2, …), х1, a, b ) Возвращает значение х1, принадлежащее отрезку [a, b], при котором выражение или функция f(х) обращается в 0. Оба аргумента этой функции должны быть ска- лярами. Функция возвращает скаляр. Аргументы: f(х1, x2, …) - функция, определенная где-либо в рабочем документе, или выра- жение. Выражение должно возвращать скалярные значения. х1 – имя переменной, которая используется в выражении. Этой переменной пе- ред использованием функции root необходимо присвоить числовое значение. Mathcad использует его как начальное приближение при поиске корня. a, b – необязательны, если используются, то должны быть вещественными чис- лами, причем a < b. Приближенные значения корней (начальные приближения) могут быть: 1. Известны из физического смысла задачи. 2. Известны из решения аналогичной задачи при других исходных данных. 3. Найдены графическим способом. 1 Доказательство этого факта связано с именами замечательных математиков Абеля (1802-1829) и Галуа (1811-1832). Лабораторная работа №4 56 Рис. 4.1. Решение уравнений средствами Mathcad Наиболее распространен графический способ определения начальных при- ближений. Принимая во внимание, что действительные корни уравнения f(x) = 0 – это точки пересечения графика функции f(x) с осью абсцисс, достаточно по- строить график функции f(x) и отметить точки пересечения f(x)с осью Ох, или отметить на оси Ох отрезки, содержащие по одному корню. Построение графи- ков часто удается сильно упростить, заменив уравнение f(x) = 0 равносильным ему уравнением: ) ( ) ( 2 1 x f x f , где функции f 1 (x) и f 2 (x) - более простые, чем функция f(x). Тогда, построив гра- фики функций у = f 1 (x) и у = f 2 (x), искомые корни получим как абсциссы точек пересечения этих графиков. Графически определить корни уравнения: x lg x = 1. (4.1) Уравнение (4.1) удобно переписать в виде равенства: lg x= x 1 . Пример Уравнения и системы уравнений 57 Отсюда ясно, что корни уравнения (4.1) могут быть найдены как абсциссы точек пересечения логарифмической кривой y = lg x и гиперболы y = x 1 . Построив эти кривые, приближенно найдем единственный корень 5 , 2 уравнения (4.1) или определим его со- держащий отрезок [2, 3]. Отсутствие сходимости функции root Если после многих итераций Mathcad не находит подходящего приближе- ния, то появится сообщение (отсутствует сходимость). Эта ошибка может быть вызвана следующими причинами: Уравнение не имеет корней. Корни уравнения расположены далеко от начального приближения. Выражение имеет локальные max и min между начальным приближением и корнями. Выражение имеет разрывы между начальными приближениями и корня- ми. Выражение имеет комплексный корень, но начальное приближение было вещественным. Чтобы установить причину ошибки, исследуйте график f(x). Он поможет выяснить наличие корней уравнения f(x) = 0 и, если они есть, то определить приблизительно их значения. Чем точнее выбрано начальное приближение кор- ня, тем быстрее будет root сходиться. Рекомендации по использованию функции root Для изменения точности, с которой функция root ищет корень, нужно из- менить значение системной переменной TOL. Если значение TOL увели- чивается, функция root будет сходиться быстрее, но ответ будет менее то- чен. Если значение TOL уменьшается, то функция root будет сходиться медленнее, но ответ будет более точен. Чтобы изменить значение TOL в определенной точке рабочего документа, используйте определение вида . Чтобы изменить значение TOL для всего рабочего документа, Лабораторная работа №4 58 выберите команду Инструменты Свойства таблицы… Допуск схо- димости (TOL). Если два корня расположены близко друг от друга, следует уменьшить TOL, чтобы различить их. Если функция f(x) имеет малый наклон около искомого корня, функция root(f(x), x) может сходиться к значению r, отстоящему от корня доста- точно далеко. В таких случаях для нахождения более точного значения корня необходимо уменьшить значение TOL. Другой вариант заключается в замене уравнения f(x) = 0на g(x) = 0 ) ( ) ( ) ( x f dx d x f x g Для выражения f(x) с известным корнем а нахождение дополнительных корней f(x) эквивалентно поиску корней уравнения h(x) = f(x)/(x - a). По- добный прием полезен для нахождения корней, расположенных близко друг к другу. Проще искать корень выражения h(x), чем пробовать искать другой корень уравнения f(x) = 0, выбирая различные начальные прибли- жения. 4.2. Нахождение корней полинома Для нахождения корней выражения, имеющего вид v n x n + ... + v 2 x 2 + v 1 x + v 0 , лучше использовать функцию polyroots, нежели root. В отличие от функции root, функция polyroots не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные. Polyroots(v) Возвращает корни полинома степени n. Коэффициенты полинома находятся в векторе v длины n + 1. Возвращает вектор длины n, состоящий из корней поли- нома. Аргументы: v – вектор, содержащий коэффициенты полинома. Вектор v удобно создавать, используя команду Символы Коэффициен- ты полинома или символьный оператор coeffs. Рис. 4.2 иллюстрирует определе- ние корней полинома средствами Mathcad. Уравнения и системы уравнений 59 Рис. 4.2. Определение корней полинома 4.3. Решение систем уравнений MathCAD дает возможность решать также и системы уравнений. Макси- мальное число уравнений и переменных равно 50. Результатом решения системы будет численное значение искомого корня. Для решения системы уравнений (рис. 4.3, Пример 1) необходимо выпол- нить следующее: Задать начальное приближение для всех неизвестных, входящих в систему уравнений. Mathcad решает систему с помощью итерационных методов. Напечатать ключевое слово Given. Оно указывает Mathcad, что далее сле- дует система уравнений. Набрать уравнения и неравенства в любом порядке. Для уравнений ис- пользуется знак равенства, набираемый комбинацией: [Ctrl]=. Между ле- выми и правыми частями неравенств может стоять любой из символов <, >, и . Ввести любое выражение, которое включает функцию Find, например: а:= Find(х, у). Лабораторная работа №4 60 Рис. 4.3. Решение систем уравнений Find(z1, z2, . . .) Возвращает точное решение системы уравнений. Число аргументов должно быть равно числу неизвестных. Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое–либо выражение, содержащее функцию Find, называют блоком реше- ния уравнений. Следующие выражения недопустимы внутри блока решения: Ограничения со знаком . Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме. Неравенства вида a < b < c. Блоки решения уравнений не могут быть вложены друг в друга, каждый блок может иметь только одно ключевое слово Given и имя функции Find. Функция, которая завершает блок решения уравнений, может быть исполь- зована аналогично любой другой функции. Можно произвести с ней следующие три действия: Можно вывести найденное решение, напечатав выражение вида: Уравнения и системы уравнений 61 Find(var1, var2,…) =. Определить переменную с помощью функции Find: a := Find(x) – скаляр, var := Find(var1, var2,…) – вектор. Это удобно сделать, если требуется использовать решение системы урав- нений в другом месте рабочего документа. Определить другую функцию с помощью Find f(a, b, c, …) := Find(x, y, z, …). Эта конструкция удобна для многократного решения системы уравнений для различных значений некоторых параметров a, b, c,…, непосредствен- но входящих в систему уравнений. Сообщение об ошибке (Решение не найдено) при решении уравнений появляется, когда: Поставленная задача может не иметь решения. Для уравнения, которое не имеет вещественных решений, в качестве на- чального приближения взято вещественное число и наоборот. В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Для поиска искомого решения нуж- но задать различные начальные приближения. Возможно, поставленная задача не может быть решена с заданной точно- стью. Увеличение значения переменной TOL может решить поставленную задачу. Решение матричных 2 уравнений Рассмотрим систему n линейных алгебраических уравнений относительно n неизвестных х 1 , х 2 , …, х n : , , 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a (4.2) В соответствии с правилом умножения матриц рассмотренная система ли- нейных уравнений может быть записана в матричном виде 2 Матричным уравнением называется уравнение, коэффициенты и неизвестные которого – прямоугольные матрицы соответствующей размерности. Лабораторная работа №4 62 Ах = b, (4.3) где: , , 2 1 2 1 2 22 21 1 12 11 n nn n n n n x x x x a a a a a a a a a A n b b b b 2 1 (4.4) Рис. 4.4. Решение матричных уравнений Матрица А, столбцами которой являются коэффициенты при соответствую- щих неизвестных, а строками – коэффициенты при неизвестных в соответст- вующем уравнении, называется матрицей системы; матрица-столбец b, элемен- тами которой являются правые части уравнений системы, называется матрицей правой части или просто правой частью системы. Матрица-столбец х, элемен- ты которой - искомые неизвестные, называется решением системы. Если матрица А – неособенная, то есть det A 0, то система (4.2) или экви- валентное ей матричное уравнение (4.3), имеет единственное решение. Уравнения и системы уравнений 63 В самом деле, при условии det A 0 существует обратная матрица А -1 . Ум- ножая обе части уравнения (4.3) на матрицу А -1 получим: , 1 1 1 b A x b A Ax A (4.5) Формула (4.5) дает решение уравнения (4.3) и оно единственно. Системы линейных уравнений удобно решать с помощью функции lsolve. lsolve(А, b) Возвращается вектор решения x такой, что Ах = b. Аргументы: А - квадратная, не сингулярная матрица. b - вектор, имеющий столько же рядов, сколько рядов в матрице А. На Рис. 4.4 показано решение системы трех линейных уравнений относи- тельно трех неизвестных. Приближенные решения Функция Minerr очень похожа на функцию Find (использует тот же алго- ритм). Если в результате поиска не может быть получено дальнейшее уточнение текущего приближения к решению, Minerr возвращает это приближение. Функ- ция Find в этом случае возвращает сообщение об ошибке. Правила использова- ния функции Minerr такие же, как и функции Find. Minerr(z1, z2, . . .) Возвращает приближенное решение системы уравнений. Число аргументов должно быть равно числу неизвестных. Если Minerr используется в блоке решения уравнений, необходимо всегда включать дополнительную проверку достоверности результатов. 4.4. Символьное решение уравнений В Mathcad можно быстро и точно найти численное значение корня с помо- щью функции root. Но имеются некоторые задачи, для которых возможности Mathcad позволяют находить решения в символьном (аналитическом) виде. Решение уравнений в символьном виде позволяет найти точные или при- ближенные корни уравнения: Если решаемое уравнение имеет параметр, то решение в символьном виде может выразить искомый корень непосредственно через параметр. Поэто- му вместо того, чтобы решать уравнение для каждого нового значения па- раметра, можно просто заменять его значение в найденном символьном решении. Лабораторная работа №4 64 Если нужно найти все комплексные корни полинома со степенью меньше или равной 4, символьное решение даст их точные значения в одном век- торе или в аналитическом или цифровом виде. Командасимвольной операции Символы Переменные Вычислить позволяет решить уравнение относительно некоторой переменной и выразить его корни через остальные параметры уравнения. Аналог символьной операции – оператор solve (рис. 4.5). Рис. 4.5. Решение системы уравнений с помощью оператора solve Нет необходимости приравнивать выражение нулю. Если MathCAD не находит знака равенства, он предполагает, что требуется приравнять выражение нулю. Чтобы решить систему уравнений в символьном виде с помощью операто- ров Given/Find, необходимо: Напечатать ключевое слово Given. Ниже оператора Given напечатать уравнения в любом порядке, используя знак «булево равенство» ( [Ctrl]= ). Напечатать функцию Find, соответствующую системе уравнений. Для вывода результата использовать символьный знак равенства: . Пример 2 (рис. 4.3) иллюстрирует символьное решение системы уравне- ний в MathCAD. Уравнения и системы уравнений 65 4.5. Порядок выполнения лабораторной работы №4 Построить график функции f(x)(Таблица 1) и приблизительно оп- ределить один из корней уравнения. Решить уравнение f(x)= 0с точностью = 10 – 4 с помощью встроенной функции Mathcad root; Таблица 1 В а р и а н т ы з а д а н и я 1 № вари- анта f(x) № вари- анта f(x) 1 ] 1 , 0 [ e 3 1 x x x x 9 ] 2 , 0 [ 2 25 0 3 x x x 2 ] 1 , 0 [ ) 6 3 sin( 3 1 x x x 10 arccos 2 2 1 1 x x -x х 2, 3] 3 ] 1 , 0 [ 3 0 1 arccos 3 x x x 11 ] 4 , 2 [ 5 ln 4 3 x x x 4 ] 1 , 0 [ arcsin 4 0 1 2 x x x 12 ] 1 , 0 [ 2 e e x x x 5 ] 3 , 1 [ e e 14 3 x x x x 13 ] 1 , 0 [ tg 1 x x x 6 ] 1 , 0 [ 1 cos 2 1 2 2 x x x 14 ] 2 , 0 [ ) 1 ln( sin 1 x x x x 7 ] 2 , 1 [ 1 1 sin 2 2 cos x x x x 15 х 5 – х – 0,2 х 1, 2] 8 ] 2 , 1 [ ln 1 0 2 x x x x Задание 1 Лабораторная работа №4 66 Для полинома g(x) (Таблица 2) выполнить следующие действия: 1) с помощью символьного оператора coeffsсоздать вектор V, содержащий коэффициенты полинома; 2) решить уравнение g(x) = 0 с помощью функции polyroots; 3) решить уравнение символьно с помощью символьного оператора solve. Таблица 2 В а р и а н т ы з а д а н и я 2 № g(x) № g(x) 1 x 4 - 2x 3 + x 2 - 12x + 20 9 x 4 + x 3 - 17x 2 - 45x - 100 2 x 4 + 6x 3 + x 2 - 4x - 60 10 x 4 - 5x 3 + x 2 - 15x + 50 3 x 4 - 14x 2 - 40x - 75 11 x 4 - 4x 3 - 2x 2 - 20x + 25 4 x 4 - x 3 + x 2 - 11x + 10 12 x 4 + 5x 3 + 7x 2 + 7x - 20 5 x 4 - x 3 - 29x 2 - 71x -140 13 x 4 - 7x 3 + 7x 2 - 5x + 100 6 x 4 + 7x 3 + 9x 2 + 13x - 30 14 x 4 + 10x 3 +36x 2 +70x+ 75 7 x 4 + 3x 3 - 23x 2 - 55x - 150 15 x 4 + 9x 3 + 31x 2 + 59x+ 60 8 x 4 - 6x 3 + 4x 2 + 10x + 75 Решить систему линейных уравнений (Таблица 3): 1) используя функцию Find; 2) матричным способом и используя функцию lsolve. Таблица 3 В а р и а н т ы з а д а н и я 3 № Система линейных уравнений № Система линейных уравнений 1 4 2 2 4 3 2 6 3 3 8 3 2 2 4 3 2 1 4 2 1 3 1 4 3 2 1 x x x x x x x x x x x x x 9 2 6 7 4 2 2 2 7 6 3 4 5 2 4 3 2 1 4 3 2 4 2 1 4 3 2 1 x x x x x x x x x x x x x x 2 7 3 2 8 17 2 3 2 22 4 3 2 4 3 1 4 3 2 1 4 3 2 1 4 3 2 1 x x x x x x x x x x x x x x x 10 26 3 2 4 26 2 4 3 34 4 3 2 26 4 3 2 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 x x x x x x x x x x x x x x x x Задание 3 Задание 2 Уравнения и системы уравнений 67 Продолжение таблицы 3 № Система линейных уравнений № Система линейных уравнений 3 26 3 2 4 22 2 5 37 5 7 23 7 10 9 4 3 2 1 4 3 1 4 3 1 4 3 2 1 x x x x x x x x x x x x x x 11 21 2 11 10 28 2 3 2 18 2 3 8 2 4 3 2 4 3 2 4 3 2 1 4 3 2 1 x x x x x x x x x x x x x x 4 17 2 12 7 2 2 3 128 7 10 2 158 10 6 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 x x x x x x x x x x x x x x x x 12 80 6 7 2 146 5 6 3 8 63 6 2 66 4 2 4 3 2 1 4 3 2 1 4 3 2 4 3 2 1 x x x x x x x x x x x x x x x 5 99 2 5 7 3 181 2 7 3 7 88 3 2 5 88 6 2 4 3 2 1 4 3 2 1 4 3 1 4 3 2 1 x x x x x x x x x x x x x x x 13 159 5 12 72 2 3 213 4 13 2 16 2 3 2 4 3 1 4 3 2 1 4 3 2 1 4 3 1 x x x x x x x x x x x x x x 6 7 2 2 10 5 8 6 7 4 7 8 2 4 2 1 4 3 2 1 4 3 2 1 4 2 1 x x x x x x x x x x x x x x 14 1 2 2 27 2 2 2 60 8 5 4 3 5 2 7 7 7 4 3 1 4 3 2 1 4 3 2 1 4 3 2 1 x x x x x x x x x x x x x x x 7 30 5 3 37 5 3 4 18 2 15 6 2 2 4 3 2 1 4 3 2 1 4 3 2 4 3 2 1 x x x x x x x x x x x x x x x 15 45 6 9 3 83 4 2 5 5 54 5 7 124 5 9 6 4 3 2 1 4 3 2 1 4 3 2 4 3 2 1 x x x x x x x x x x x x x x x 8 19 3 2 194 4 9 15 3 2 165 5 7 5 4 4 3 2 1 4 3 1 4 3 2 1 4 3 2 1 x x x x x x x x x x x x x x x Преобразовать нелинейные уравнения системы из Таблицы 4 к ви- ду f 1 (x) = y и f 2 (y)= x. Построить их графики и определить начальное прибли- жение решения. Решить систему нелинейных уравнений с помощью функции Minerr. Задание 4 Лабораторная работа №4 68 Таблица 4 В а р и а н т ы з а д а н и я 4 № Система нелинейных уравнений № Система нелинейных уравнений 1 7 , 0 1 cos , 2 2 sin x y y x 9 0 1 cos 2 , 4 , 0 sin x y x y 2 0 2 cos , 1 ) 5 , 0 sin( x y y x 10 5 , 0 2 cos , 5 , 1 ) 2 sin( x y y x 3 1 5 , 0 sin 2 , 5 , 1 cos y x y x 11 1 2 sin , 2 ) 5 , 0 cos( x y y x 4 6 , 1 2 sin , 8 , 0 5 , 0 cos x y y x 12 1 5 , 0 sin , 0 ) 2 cos( x y y x 5 8 0 1 sin , 3 1 ) 1 sin( y x y x 13 1 5 , 0 sin , 1 ) 5 , 0 cos( x y y x 6 2 2 sin , 1 ) 5 , 0 cos( x y y x 14 2 ) 5 , 0 cos( , 1 2 ) sin( x y y x 7 3 , 1 ) 1 sin( , 8 , 0 ) 1 sin( x y y x 15 5 , 1 ) cos( , 1 ) 5 , 0 sin( 2 x y x y 8 3 , 1 ) 1 sin( , 1 2 ) sin( x y y x Символьно решить системы уравнений: 1) с помощью функцию Find; 2) с помощью символьный оператор solve. 2 , 4 3 b y x a y x 3 , , 2 c x y b z z a z y Задание 5 Уравнения и системы уравнений 69 4.6. Контрольные вопросы 1. Способы нахождения начального приближения. 2. Функции для решения одного уравнения в MathCAD. В чем их отличие? 3. Необязательные аргументы функции root. 4. В каких случаях MathCAD не может найти корень уравнения? 5. Системная переменная, отвечающая за точность вычислений. 6. Изменение точности, с которой функция root ищет корень. 7. Системная переменная TOL, влияющая на решение уравнения с помощью функции root. 8. Функции для решения систем уравнений в MathCAD и особенности их при- менения. 9. Структура блока решения уравнений. 10. Знак равенства, используемый в блоке решения. 11. Выражения, недопустимые внутри блока решения уравнения. 12. Способы использования функции Find. 13. Случаи, когда MathCAD не может найти решение системы уравнений. 14. Сравнительная характеристика функций Find и Minerr. 15. Определение матричных уравнений. 16. Решение матричных уравнений. Способы решения матричных уравнений. 17. Символьное решение уравнений или систем уравнений в MathCAD. Какой знак равенства используется? Какой комбинацией клавиш вставляется в доку- мент? 18. Особенности использования символьного решения уравнений. |