Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 сем_Лабор практ_ЭВМ в инж расч.doc
Скачиваний:
8
Добавлен:
01.03.2025
Размер:
6 Мб
Скачать
☆

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

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

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

 Задача нахождения корня уравнения f(x) = 0 итерационными методами состоит в следующем:

  • отделение корней — отыскание приближенного значения корня (например, графическим методом);

  • уточнение корней — доведение их значений до заданной степени точности ε.

При использовании метода Ньютона необходимо задаться начальным приближением х0, расположенным достаточно близко к точному значению корня. Итерационный процесс строится по формуле:

(1)

Метод простых итераций решения уравнения f(x) = 0 состоит в замене исходного уравнения эквивалентным ему уравнением x =Φ(x) и построении итерационной последовательности по формуле:

xi+1 =Φ(xi), i=0,1…

(2)

Достаточным условием сходимости рассмотренных итерационных процессов является выполнение неравенства

(3)

на каждом шаге итерации.

until(a, z) возвращает z, пока выражение a не становится отрицательным; а должно содержать дискретный аргумент.

Рис. 2 иллюстрирует использование функции until для реализации метода Ньютона.

Рис. 2 — нахождение корней уравнения методом Ньютона

Решение уравнений средствами MathCad

  Для простейших уравнений вида f(x) = 0 решение находится с помощью функции root.

root(f(z), z)

Возвращает значение z, при котором выражение или функция f(z) обращается в 0. Оба аргумента этой функции должны быть скалярами. Функция возвращает скаляр.

Первый аргумент — или функция, определенная где-либо в рабочем документе, или выражение. Второй аргумент — имя переменной, которая используется в выражении. Этой переменной перед использованием функции root необходимо присвоить числовое значение.

Для нахождения корней выражения, имеющего вид

лучше использовать функцию polyroots, нежели root. В отличие от функции root, функция polyroots не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные.

 

polyroots(v)

Возвращает корни полинома степени n. Коэффициенты полинома находятся в векторе v длины n + 1. Возвращает вектор длины n, состоящий из корней полинома.

Пример. Нахождение нулей функции в программе Mathcad

Для простейших уравнений вида f(x) = 0 решение находится с помощью функции root. Данная функция root(f(z), z) возвращает значение z, при котором выражение или функция f(z) обращается в 0. Оба аргумента этой функции должны быть скалярами. Функция возвращает скаляр.

Найти нули функции

на интервале , используя Mathcad.

На заданном интервале функция три раза обращается в ноль. Для определения нулей функции используем встроенную функцию . Также необходимо задать начальное приближение поиска. Точность вычислений задается встроенной переменной TOL. По умолчанию её значение равно 0,001.

Задаем начальное приближение

и вычисляем

.

Пример. Нахождение корней полинома в программе Mathcad

В программе Mathcad для нахождения корней полиномов имеется встроенная функция polyroots(a) . Аргументом функции является вектор коэффициентов полинома

Для уравнения

.