КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Технология решения нелинейных уравнений средствами MathCad
В математическом пакете MathCad имеются как программные средства для реализации алгоритмов уточнения корней уравнений, приведенных в п.6.2.2, так и встроенные функции для численного и аналитического вычисления корней уравнений. Рассмотрим примеры , иллюстрирующие средства MathCad.
Пример 6.2.4-1. Отделить корни уравнения x3-cos(x)+1=0 графическим методом.
Пример 6.2.4-2. Отделить корень уравнения f(x)=1–3x+cos(x)=0 аналитически.
Пример 6.2.4-3. Выполнить «ручным расчетом» три итерации нахождения корня уравнения f(x)= 1 – 3х + cos(x) = 0 методом половинного деления.
Пример 6.2.4-4. Уточнить корень уравнения f(x)=1 – 3x + cos(x)=0 методом итерации на отрезке [0;1]. Приведем уравнение 1 – 3х + cos(x) = 0к виду x = (cos(x) + 1) / 3и проведем исследование:
Пример 6.2.4-5. Привести уравнение x2–3∙x+3.25–5∙cos(x)=0 к виду, удобному для итерации.
Пример 6.2.4-6. Выполнить «ручным расчетом» три итерации, решая уравнение f(x)=1 – 3x + cos(x) = 0 методом Ньютона. В нашем случае
ВMathcad имеется ряд встроенных средств для поиска корней нелинейных уравнений. Функция
root(f(var1, var2, ...),var1, [a, b])
имеет два необязательных аргумента a и b, которые определяют границы интервала, на котором следует искать корень. На концах интервала [a;b] функция f должна менять знак (f(a)f(b)<0). Задавать начальное приближение для корня не нужно. Функция root использует алгоритм Риддера (в основу которого положен метод хорд) и Брента. Метод Брентасоединяет быстроту метода Риддера и гарантированную сходимость метода деления отрезка пополам.
Пример 6.2.4-7. Определить корни уравнения , используя расширенный поиск. Для оценки местоположения корней построим график этой функции
Пример 6.2.4-8. Отделить корень уравнения 1–3x+Co(x)=0, а затем с помощью встроенной функции root( ) найти его значение с точностью TOL = 0.001. Значение переменная TOL принимает по умолчанию. Если требуется изменить точность вычислений, то переменную TOL следует переопределить, например, следующим образом TOL:=0.00001. В данном примере, поскольку параметры a и b не заданы, то функция root возвращает первый вычисленный корень.
Если уравнение имеет несколько корней, то для их нахождения можно использовать разложение функции f(x) на простые множители f(x)=(x-x1)(x-x2) …(x-xn), где x1, x2, …, xn - корни уравнения. Начальное приближение можно задать только для первого корня, а в качестве функции взять, например,
Если уравнение не имеет действительных корней, то есть на графике функция f(x) нигде не равна нулю, то для вывода комплексных корней надо ввести начальное значение приближения к корню в комплексной форме, где для вывода мнимой части использовать символы 1i и 1j. Пример 6.2.4-9. Найти решения нелинейного уравнения , имеющего несколько корней, часть из которых мнимые.
|