Главная страница

04 - Уравнения и системы уравнений. Лабораторная работа 4 уравнения и системы уравнений


Скачать 461.74 Kb.
НазваниеЛабораторная работа 4 уравнения и системы уравнений
Анкор04 - Уравнения и системы уравнений.pdf
Дата29.01.2017
Размер461.74 Kb.
Формат файлаpdf
Имя файла04 - Уравнения и системы уравнений.pdf
ТипЛабораторная работа
#1008

Уравнения и системы уравнений
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. Особенности использования символьного решения уравнений.


написать администратору сайта