3432

Методы решения нелинейного уравнения

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

Математика и математический анализ

Данное руководство предназначено для студентов, изучающих предмет «Численные методы» и выполняющих лабораторные работы по курсу «Информатика». В методических указаниях рассмотрены ряд методов нахождения корней нелинейного ура...

Русский

2012-10-31

43.57 KB

7 чел.

Данное руководство предназначено для студентов,  изучающих предмет «Численные методы»  и выполняющих лабораторные работы по курсу   «Информатика». В методических указаниях рассмотрены ряд методов нахождения корней нелинейного уравнения и приведены примеры решения задач на языке программирования и в среде Mathcad.


ПОСТАНОВКА ЗАДАЧИ. ОТДЕЛЕНИЕ КОРНЕЙ.

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

!) отделение корней т.е выделение промежутков внутри которых содержится только один корень уравнения;

2) вычисление корня, принадлежащего выделенному промежутку с заданной точностью.

Решение задачи отделения корней для непрерывной функции основано на том, что, если функция на концах отрезка [a,b] имеет значения разных знаков, то внутри этого отрезка функция проходит через нуль, т. е  содержится корень уравнения. Таким образом, чтобы произвести отделение корней необходимо разбить область предполагаемого нахождения корней на равные отрезки длиной h и вычислить значение функции на концах отрезка. Если будет выполнятся условие F(x)*F(x+h)<=0, то корень внутри отрезка [x,x+h]. Величина шага разбиения подбирается интуитивно; при большом шаге разбиения возможно пропустить корень; при маленьком – увеличивается время вычислений.

Ниже приведена программа на языке Паскаль, решающая задачу отделения корней для произвольной функции. ( В программе рассматривается уравнение: x3 +2*x2 – 6*x+1=0 ).

uses crt;

const m=100; {отрезок [-m,m]}

     h=0.1;  {шаг разбиения }

var x:real;

function f(x:real):real;

{функция, задающая решаемое уравнение }

begin

 f:=x*x*x+2*x*x-6*x+1;

end;

{-------------------------------------------------------------------}

begin { main }

 clrscr;

 x:=-m;

 while x<m do

   begin

     if f(x)*f(x+h)<=0 then

        begin

          { здесь следует разместить вызов функции уточняющий корень

             на отрезке [x,x+h]  }

           writeln('корень находится внутри отрезка [',x:5:1,x+h:5:1,']');

        end;

      x:=x+h;

   end;

  repeat until keypressed;

 end.

3


МЕТОД ПОЛОВИННОГО ДЕЛЕНИЯ.

Рассмотрим методы нахождения корня уравнения на заданном отрезке. Все методы предполагают, что предварительно произведено отделение корней и на отрезке находится только один корень.

Метод половинного деления состоит в том, что мы уменьшаем длину отрезка так, что корень остается внутри отрезка; процесс продолжается до тех пор, пока длина отрезка не станет меньше заданной точности. Уменьшение длины отрезка производится самым естественным образом: делением отрезка пополам и выбором той половины, внутри которой находится корень( т.е на концах которой функция имеет разный знак.)

Алгоритм:

   WHILE | a-b| > epsi

         Вычисляем середину отрезка x=(a+b)/2;

         Выбираем половину, где корень:

                 Если F(a)*F(x)<=0  то корень в [а,х], поэтому b переносим в x b=x   

                 Если F(b)*F(x)<=0  то корень в [b,х], поэтому a переносим в x a=x

    END

МЕТОД НЬЮТОНА (КАСАТЕЛЬНЫХ).

Суть метода:

 За начальное приближение принимается какая-либо точка заданного отрезка, для которой     ;

 Из этой точки проводится касательная к графику функции F(x). Уравнение касательной  

Точка пересечения касательной с осью 0X (y=0) задает следующее приближение  

 Процесс продолжается до тех пор пока расстояние между двумя последовательными приближениями не станет меньше заданной точности
|xi-1-xi|<epsi

Условия применимости метода:

  В интервале есть корень

  В интервале существуют  

  За начальное приближение принимается точка, в которой

Алгоритм

 X0 – начальное приближение

 X1 – последующее приближение

 F(x) – функция, задающая уравнение

 Fp(x) – производная

 X1=a x2=0 { необходимо для первоначальной проверки условия цикла}

 WHILE |X1-X0|>epsi

     X0=X1

     X1=X0-F(X0)/Fp(X0)

 END.

4


РЕШЕНИЕ ЗАДАЧИ В MATHCAD.

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

Уточнение корня производится стандартной функцией

 root(F(x),x),

 где F(x) – функция, задающий уравнение.

        x –  имя переменной, варьируя которую ищется корень; перед использованием переменной обязательно должно быть присвоено начальное значение; для уравнения с несколькими корнями, ищется  корень, наиболее близкий к начальному значению.

Пример решения уравнения x3 +2*x2 – 6*x+1=0

Решение кубического уравнения

   

График

Уточнение графика на интервале 0 ..2

C помощью функции root ( требуется начальное приближение)

   

      

      

5


Примеры написание программ

Метод половинного деления

Метод Ньютона


ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ.

Требуется решить уравнение в Mathcadе, написать и отладить программу нахождения всех корней уравнения, предложенным преподавателем методом.

1. 2*x3+12*x2+13*x+15=0

2. 2*x3-3*x2+4*x+9=0

3.  x3-4*x2-4*x-5=0

4. 2*x4+3*x3+8*x2+6*x+5=0  

5. 2*x4-3*x3+2*x2-15*x+14=0

6. 15*x4-4*x3-6*x2-4*x-1=0

7. 2*x4-x3+3*x2-x+1=0

8. x4+3*x3-44*x2+15*x+25=0

9. 6*x4+25*x3+12*x2-25*x+6=0

10. x4-2*x3-11*x2+12*x+36=0

11. 100*x3+45*x2-12*x+2.5=0

12. 10*x3+20*x2-0.1*x-0.2=0

13.  x3+4.05*x2-0.03*x+0.02=0

14.  x3+79.9*x2-1988*x-200=0

15.  x3-4.6*x2-52*x-20=0

16.  x3-0.5*x2-0.5*x=0

17. 200*x3+78*x2-41.2*x+0.42=0

18. 2*x3-0.6*x2+0.06*x-0.002=0

19. 0.5*x3-2.3*x2-26*x-10=0

20. -0.1*x3+0.405*x2+0.003*x-0.002=0

ЛИТЕРАТУРА.

1. Mathcad 6.0 plus. Руководство пользователя. М., Филинъ.1998.

2. Ракитин В. И. , Первушин В.Е. Практическое руководство по методам вычислений. М., Высшая школа 1998.

3. Попов В. Б.  Turbo Pascal 7.0 для школьников

М.; Финансы и статистика, 1996. -464


 

А также другие работы, которые могут Вас заинтересовать

49862. Автоматика и регулирование РДТТ. Расчёт сменных сопловых вкладышей 745.5 KB
  Определить количество сменных вкладышей (если их будет более 4, нужно изменить величину разброса) и вычислить каждого вкладыша для определенного диапазона окружающей среды при настройке на Р=const;
49863. Расчет схемы управления и защиты трехфазного асинхронного двигателя 392 KB
  Защита трансформатора от токов короткого замыкания и перегрузки осуществляется автоматическим выключателем Q0. Нижестоящий выключатель Q1 защищает от токов к. Для защиты нагрузок 2 – 7 и соединяющих их линий l2 – l7 от токов короткого замыкания перегрузки и токов утечки ниже установлены автоматические выключатели нагрузки FD2 – FD7. Защита двигателя от токов короткого замыкания осуществляется автоматическим выключателем QF1.
49864. Проектирование технологического процесса сборки и средств технологического оснащения 2.62 MB
  Темой данного курсового проекта является разработка технологического процесса сборки прибора точной электромеханики и средств технологического оснащения. Исследуемым прибором является гиромотор (ГМ), который является трёхфазным асинхронным двигателем обращённого типа.
49865. Расчет электродвигателя и его составляющих 779.29 KB
  Кинематическая схема механизма Выбор электродвигателя Мощность на выходе: кВт Мощность электродвигателя: кВт Принимаем: кВт Определение частоты вращения вала: мин1 Определение частоты вращения электродвигателя: Принимаем двигатель: АИР90L4 мин1 ; р=2. Допускаемые напряжения для расчета на контактную выносливость: За расчетное допускаемое напряжение принимаем меньшее из полученных 7. Коэффициент нагрузки Принимаем Схема передачи 5 с учетом варианта а соотношений термических обработок. Коэффициент...
49866. Ленточный транспортер 563.29 KB
  Для передачи крутящего момента от двигателя использован цилиндрический соосный двухпоточный мотор-редуктор, который состоит из прямозубых зубчатых колес с внешним зацеплением(быстроходная ступень) и внутренним (тихоходная ступень). Чугунный корпус имеет разьем в вертикальной плоскости.
49867. Автоматика и регулирование РДТТ. Расчет параметров двигателя 4.43 MB
  Расчет основных параметров двигательной установки Газовая постоянная продуктов сгорания топлива: Физикохимическая константа топлива: Постоянную топлива: Комплекс Ак: Секундный массовый расход при номинальных условиях окружающей среды: Скорость горения при нормальных условиях: Определим потребную площадь горения: Коэффициент сопла: φс = 098 Коэффициент тепловых потерь: χ = 098 Площадь критического сечения при номинальной температуре заряда: Задаем значение давления на срезе сопла: ра = 01 МПа; Определим значение приведенной скорости:...
49868. Цифровая фильтрация и дискретная обработка сигналов 447.14 KB
  Рассчитать и построить спектральные характеристики аналогового сигнала. Рассчитать прохождение сигнала через цепь операторный или временной метод Дискретная обработка аналогового сигнала. Спектральный анализ аналогового сигнала Разложение сигнала на типовые составляющие.
49869. Применение нейросетей для решения проблемы выбора эмитентов облигаций для возможности включения их в портфель 739 KB
  Расчет количества нейронов на внутреннем слое Выбор оптимального числа нейронов. Для построения нейросетевой модели любого сколь угодно сложного объекта достаточно использовать персептрон с одним скрытым слоем сигмоидных нейронов число которых определяется формулами Где Ny – размерность выходного сигнала; Q – число элементов обучающей выборки; Nw необходимое число синаптических весов; Nx размерность входного сигнала. Оценив с помощью этой формулы необходимое число синаптических весов можно рассчитать число нейронов в скрытых...
49870. Регистр внутреннего учета ценных бумаг 249 KB
  Основной порядок: Начните работу с выбора регистра учета Перейдите в группу задач Отчеты. Выбор регистра учета Введите параметры формирования отчета Выбор УК Выберите название УК из списка. Выбор УК Выбор периода формирования отчёта Укажите период формирования отчета. Выбор клиента Выберите клиента по которому Вы хотите сформировать отчеты.