Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по VBA.doc
Скачиваний:
108
Добавлен:
26.08.2019
Размер:
1.04 Mб
Скачать
  1. Решение нелинейных уравнений

Необходимость отыскания корней нелинейных уравнений встречается при расчетах линейных систем автоматического уравнения, собственных колебаний машин и конструкций со многими степенями свободы и т. д. Основная форма записи этих уравнений F(x)=0 .

Имеются две разновидности нелинейных уравнений: алгебраические и трансцендентные.

Алгебраические уравнения n-ой степени A0xn+A1xn-1+…+An=0 имеют n корней, коэффициенты Ai могут быть как действительными, так и комплексными числами.

Трансцендентные уравнения содержат степенные, тригонометрические, экспоненциальные и другие функции от некоторого аргумента x, например, e-x+sinx = 0 . Такие уравнения обычно имеют бесконечное множество корней.

Поиск корней нелинейного уравнения состоит из трех этапов: определение границ существования корней, отделение корней и уточнение корней.

Определение границ существования корней

Определение границ действителных корней алгебраического уравнения F(x)=0 . Если R1 - верхняя граница положительных корней F(x) , R2 - верхняя граница положительных корней F(-x) , R3 >0 - верхняя граница положительных корней R4 - верхняя граница положительных корней то все отличные от нуля действительные корни уравнения F(x)=0 (если они существуют) лежат внутри интервалов и .

Для определения верхней границы положительных корней алгебраического

уравнения можно формулой Лагранжа.

(1.1), где k – индекс первого из отрицательных коэффициентов полинома Pn(x)=A0xn+A1xn-1+…+An; Bнаибольшее из абсолютных значений отрицательных коэффициентов полинома F(x). Для использования формулы (1.1) необходимо, чтобы коэффициент A0 был положительным (A0>0).

Отделение корней

Все действительные корни нелинейного уравнения F(x)=0 лежат на оси абсцисс. Отделение корней производится следующим образом: перемещаясь по оси х от нижней границы существования корня Rn на величину шага поиска е и проверяя смену знак функции F(x), в текущей координате х найти такой интервал е, на котором произошла смена знака функции или функция попала на ось (F(x)=0). Этот интервал и будет определять нижнюю и верхнюю границы существования одного из корней нелинейного уравнения. Смену знака определяют по произведению значений функций в двух соседних точках: F1= F(x-e) и F2= F(x). Условие смены знака - F1* F2≤0. После определения выделенного корня происходит отделения следующего корня. Этот процесс продолжается до достижения верхней границы существования корней.

Уточнение корней

Существует множество методов уточнения корней.

Метод половинного деления. Суть этого метода заключается в делении интервала между нижней и верхней границей существования корня пополам. Новое значение корня определяется как х=(хнв)/2. Если F (x)=0, то х точный корень уравнения. Если же F (x)≠0 , то из двух образовавшихся отрезков [хн] и [х,хв] выбирается тот, на концах которого функ-ция F (x) принимает значения противоположных знаков. Затем полученный отрезок делится пополам и проводятся те же вычисления. Процесс деления отрезка пополам производится до тех пор, пока полученные при делении отрезки не станут меньше заданной точности е.

Метод итераций. Для использования этого метода нужно преобразовать исходное уравнение F(x)=0 к виду x=FI(x), где FI(x)= F(x)+x. Корни уравнения в этом случае будут находится на пересечении двух кривых Y=x и Y=FI(x). Поиск этого корня производится исходя из полученного уравнения x=FI(x),следующим образом: x[i+1]=FI(x[i]). Процесс поиска все новых приближений x[i+1] продолжается до тех пор, пока не будет выполняться условие . Сходимость метода можно проверить по условию .

Метод касательных. Заключается в проведении касательной в текущей точке x[i]. Пересечение касательной с осью х дает новое, более точное значение x[i+1], т.е. x[i+1] = (x[i])-Т, где T=F(x[i])/F(x[i]) – изменение аргумента, которое находится путем деления противолежащего катета F(x[i]) на тангенс угла наклона касательной tga = F(x[i]). Этот процесс продолжается до тех пор пока изменение аргумента Т не станет меньше заданной точности е, т.е. Т≤ е. Дано алгебраическое уравнение 8x4-8x2-32x+1=0

  1. Написать процедуру - определение границ действителных корней алгебраического уравнения, функцию – вычисление значения функции для нахождения границ.

  2. Написать процедуру – отделение корней.

  3. Уточнение корней методом половинного деления. Уравнение 8x4-8x2-32x+1=0. Уточнить до ε = 0.001 корень уравнения методом половинного деления.

Уточнение корней методом итераций.Уравнение Найти корень уравнения x3-2.56x2-1.3251x+4.395006=0. За начальное приближение к корню взято число 2, а корень вычисляется c точностью до 0.00001.

  1. Уточнение корней методом касательных . Уравнение 8x4-8x2-32x+1=0