Вопросы на защиту:
Что такое дискретный аргумент?
Как определить логарифм по основанию 4?
Что такое i в комплексном числе?
Что нужно сделать, чтобы отображался 3Dграфик на экране?
Как увеличить график?
Какими горячими клавишами можно поставить нижний и верхний индексы?
Какими горячими клавишами можно поставить знак определить (присвоить :=)?
Какими горячими клавишами можно поставить номер столбца матрицы?
Какими горячими клавишами можно поставить диапазон n..m.
Какими горячими клавишами можно поставить дробь и корень?
Лабораторная работа №2
Решение уравнений
Цель работы: ознакомится с основами численными методами решений уравнений в среде MathCAD. В процессе выполнения работы студенты узнают:
Численное решение уравнений методом итераций;
Решение уравнений методами MathCAD;
Символьное решение уравнений и систем уравнений.
Как известно, многие уравнения и системы уравнений не имеют аналитических решений. В первую очередь это относится к большинству трансцендентных уравнений. Доказано также, что нельзя построить формулу, по которой можно было бы решить произвольное алгебраическое уравнение степени выше четвертой. Однако такие уравнения могут решаться итерационными методами с заданной точностью.
Итерационные методы
Задача нахождения корня уравнения f(x)=0 итерационными методами состоит в следующем:
отделение корней - отыскание приближенного значения корня (например, графическим методом);
уточнение корней - доведение их значений до заданной степени точности Ԑ
При использовании метода Нъютона необходимо задаться начальным приближением х0, расположенным достаточно близко к точному значению корня. Итерационный процесс строится по формуле:
,
,
i=0,1 (1)
Рисунок 1 иллюстрирует использование функции until для реализации метода Ньютона.
Выполните следующее:
Определите приближенные корни уравнения f(x)=arcos(x)2-x, нарисовав график при х=-1,-0.9..2 (см. Рис.1). После чего уточните корни данного уравнения методом Ньютона при заданной точности ε=10-4.
Рис.1. Использование функции until для реализации метода Ньютона.
Метод итераций. Одним из наиболее важных способов численного решения уравнений является метод итерации. Сущность этого метода заключается в следующем. Пусть дано уравнение
|
f(x)=0. |
(2) |
где f(x) – непрерывная функция, и требуется определить его вещественные корни. Заменим уравнение (2) равносильным уравнением
|
x=j (x). |
(3) |
Выберем каким-либо способом грубо приближенное значение корня x0 и подставим его в правую часть уравнения (3). Тогда получим некоторое число
|
x1=j (x0). |
(4) |
Подставляя теперь в правую часть равенства (4) вместо x0 число x1 получим новое число x2=j (x1). Повторяя этот процесс, будем иметь последовательность чисел
|
xn=j (xn-1) (n=1, 2,...). |
(5) |
Если
эта последовательность – сходящаяся,
т.е. существует предел
,
то, переходя к пределу в равенстве (4) и
предполагая функцию j (x)
непрерывной, найдем:
или
x =j (x). (6)
Рис.2. Использование функции until для реализации метода итераций.
Таким образом, предел x является корнем уравнения (3) и может быть вычислен по формуле (5) с любой степенью точности.
Доказано, что достаточными условиями сходимости итерационного процесса является выполнение условия | j (x)<1 для xО [a, ,b].
При этом процесс сходится к единственному корню x .
Выполните следующее:
Решите приведенное выше уравнение, методом итераций, используя функцию until (рис.2).
Решение уравнений средствами MathCad
Для простейших уравнений вида f(x) = 0 решение находится с помощью функции root.
root(f(z), z) |
Возвращает значение z, при котором выражение или функция f(z) обращается в 0. Оба аргумента этой функции должны быть скалярами. Функция возвращает скаляр. |
Первый аргумент - или функция, определенная где-либо в рабочем документе, или выражение. Второй аргумент - имя переменной, которая используется в выражении. Этой переменной перед использованием функции root необходимо присвоить числовое значение.
Для нахождения корней выражения, имеющего вид
vnxn+…+ v2x2+ v1x+v0,
лучше использовать функцию polyroots, нежели root. В отличие от функции root, функция polyroots не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные.
polyroots(v) |
Возвращает корни полинома степени n. Коэффициенты полинома находятся в векторе v длины n + 1. Возвращает вектор длины n, состоящий из корней полинома. |
Рис.3. Решение уравнения с помощью функций root и polyroots.
Выполните следующее:
Решите уравнение: f(x)=x4+7x3+9x2+13x-30 используя функции root и polyroots (см. рис.3).
Системы линейных уравнений удобно решать с помощью функции lsolve.
lsolve(M, v) |
Возвращается вектор решения z такой, что M * z = v. |
При решении систем уравнений используется специальный вычислительный блок, открываемый служебным словом Given и оканчивающийся выражением с функциями Find или Minerr.
Find(z1, z2, . . .) |
Возвращает точное решение системы уравнений. Число аргументов должно быть равно числу неизвестных. |
Minerr(z1, z2, . . .) |
Возвращает приближенное решение системы уравнений. Число аргументов должно быть равно числу неизвестных. |
Пример 2 на Рисунке 4 иллюстрирует решение системы уравнений с помощью вычислительного блока Given ... Find.
Рис.4.
Решение системы уравнений.
Выполните следующее:
Решите систему
уравнений
,
используя функцию lsolve
и с
помощью вычислительного блока Given
... Find.
Символьное решение уравнений и систем уравнений
Если задано некоторое выражение f(x) и отмечена переменная x, то команда Символьные операции → Переменная → Решить возвращает символьные значения указанной переменной x, при которой f(x) = 0.
Чтобы решить систему уравнений в символьном виде, не нужно задавать начальные приближения. Пример 7 Рисунка 5 показывает решение системы уравнений в символьном виде.
Рис.5.
Решение системы уравнения в символьном
виде.
Задания по вариантам
Задание 1. Построить график функции f(x) и приблизительно определить один из корней уравнения.
Решить уравнение f(x)= 0 с точностью e = 10 - 4:
с помощью встроенной функции Mathcad root;
методом Ньютона (касательных), используя функцию until;
методом итераций, используя функцию until.
Определить число итераций в каждом методе, с помощью функции last.
Варианты задания 1
№ |
f(x) |
№ |
f(x) |
№ |
f(x) |
1 |
3∙sin(√x)+0.35x-3.8
|
6 |
|
11 |
|
2 |
|
7 |
|
12 |
|
3 |
|
8 |
3x-4ln x-5
|
13 |
0.1x2-x ln x
|
4 |
|
9 |
|
14 |
1-x+sin x-ln(1+x)
|
5 |
|
10 |
|
15 |
ex-1-x3-x
|
Задание 2. Для полинома g(x) выполнить следующие действия:
с помощью команды Символьные операции → Полиномные коэффициенты создать вектор V, содержащий коэффициенты полинома;
решить уравнение g(x) = 0 с помощью функции polyroots;
решить уравнение символьно, используя команду Символьные операции → Переменная → Решить;
разложить на множители, используя Символьные операции → Факторизировать.
