Функция поиска корня нелинейного уравнения – root. Уравнения могут не иметь аналитических решений. Тогда они решаются численными методами с заданной погрешностью. Для простейших уравнений вида F (x) = 0 решение находится с помощью функции root(выражение, имя_переменной). Эта функция возвращает значение переменной, при котором выражение равно 0 с заданной точностью. Можно задать начальное значение переменной, что полезно, если возможно несколько решений.
Задача_1. Найти корни полинома третьей степени , при значениях коэффициентов , , , .
¿ _1. 1) Задать коэффициенты полинома.
2) Задать полином.
3) Задать начальное значение x:=0.
4) Задать формулу для нахождения первого действительного корня: x1:=root(F(x),x).
5) Вывести значение x1.
6) Два других корня могут оказаться комплексными, поэтому далее необходимо задать . Для поиска второго корня x 2 первый исключается делением F (x) на (x - x 1) (т.е. теперь функция root применяется к функции F (x)/(x - x 1)). Соответственно для поиска третьего корня x 3 F (x) делится еще и на (x - x 2). Найти остальные корни полинома.
Задача_2. Найти корни многочлена третьей степени , задав начальное приближение x =0.
Функция поиска всех корней многочлена – polyroots. Для поиска корней обычного полинома p (x) степени n MathCAD содержит функцию polyroots(V), которая возвращает вектор всех корней многочлена (полинома) степени n, коэффициенты которого находятся в векторе V, имеющем длину n +1. Не рекомендуется пользоваться этой функцией, если степень полинома выше пятой-шестой, т.к. тогда трудно получить малую погрешность вычисления корней.
Задача_3. Найдем корни полинома из задачи_1, используя эту функцию.
Задача_4. Найти корни полинома , при значениях коэффициентов , , , , используя две описанные выше функции.
Задача_5. Используя функцию polyroots найти корни полиномов:
а) ; б)
Директива Given для подготовки блока решения уравнения или системы уравнений. При решении систем нелинейных уравнений используется специальный вычислительный блок, открываемый служебным словом – директивой Given – и имеющий следующую структуру:
Начальные условия (вида var:=value)
Given
Уравнения (вида expr_left = expr_right)
Ограничительные условия
Выражения с функциями Find, Minerr, Maximize и Minimize
& Начальные условия определяют начальные значения искомых переменных. Они задаются обычным присваиванием переменным заданных значений. Если переменных несколько, то используется векторное представление для начальных условий. Уравнения задаются в виде expr_left = expr_right с применением жирного знака равенства (палитра Boolean) между левой и правой частью каждого уравнения. Ограничительные условия обычно задаются в виде неравенств или равенств, которые должны удовлетворяться при решении системы уравнений.
В блоке используется одна из следующих двух функций:
Find(v1,v2,...,vn) – возвращает значение одной или ряда переменных для точного решения. Эта функция используется, когда решение реально существует (при решении системы уравнений – графики функций пересекаются).
Minerr(v1,v2,...,vn) – возвращает значение одной или ряда переменных для приближенного решения (при решении системы уравнений – графики функций не имеют общих точек). Эта функция пытается найти максимальное приближение к несуществующему решению путем минимизации среднеквадратичной погрешности решения.
Задача_6. Решить уравнение x 2 = 3.
¿ _6. 1) Задать начальное значение для поиска: присвоим переменной x значение 10.
2) Откроем блок словом Given.
3) Запишем уравнение, используя жирный знак равенства.
4) Присвоим x0:=Find(x).
5) Выведем x0. Решить это же уравнение, используя функцию Minerr.
Задача_7. Используя функцию Given решить уравнения:
а) ; б) .