Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛБ_MatMod.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Вопросы на защиту:

  1. Что такое дискретный аргумент?

  2. Как определить логарифм по основанию 4?

  3. Что такое i в комплексном числе?

  4. Что нужно сделать, чтобы отображался 3Dграфик на экране?

  5. Как увеличить график?

  6. Какими горячими клавишами можно поставить нижний и верхний индексы?

  7. Какими горячими клавишами можно поставить знак определить (присвоить :=)?

  8. Какими горячими клавишами можно поставить номер столбца матрицы?

  9. Какими горячими клавишами можно поставить диапазон n..m.

  10. Какими горячими клавишами можно поставить дробь и корень?

Лабораторная работа №2

Решение уравнений

Цель работы: ознакомится с основами численными методами решений уравнений в среде MathCAD. В процессе выполнения работы студенты узнают:

  1. Численное решение уравнений методом итераций;

  2. Решение уравнений методами MathCAD;

  3. Символьное решение уравнений и систем уравнений.

Как известно, многие уравнения и системы уравнений не имеют аналитических решений. В первую очередь это относится к большинству трансцендентных уравнений. Доказано также, что нельзя построить формулу, по которой можно было бы решить произвольное алгебраическое уравнение степени выше четвертой. Однако такие уравнения могут решаться итерационными методами с заданной точностью.

Итерационные методы

Задача нахождения корня уравнения 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;

  • решить уравнение символьно, используя команду Символьные операции → Переменная → Решить;

  • разложить на множители, используя Символьные операции → Факторизировать.