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


 

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

71972. Життєвий та творчий шлях (на прикладі збірки «Людський вертеп») Марії Долі (Валерії Гуртовенко) 684 KB
  Тут народилась я і друзів маю В нім корені життя мої. Від слова жито яке означає той злакщо дає життя людям. Вже пізніше вона напише вірш Моїй няні і присвятить його їйлюдиніспогад про яку протягом всього життя повертатиме її в дитинство.
71973. ВЕСЕЛА МАСЛЯНА 78.5 KB
  Розвиток естетичних поглядів та смаків, що ґрунтуються на народній естетиці та найкращих надбаннях цивілізації. Виховання гармонійно розвиненої особистості з високим національно – культурним потенціалом, розвинутим почуттям прекрасного.
71974. ВІВАТ, МАТЕМАТИКА! 81.5 KB
  Доброго дня дорогі друзі Я рада вітати всіх хто знає математику хто любить математику хто в майбутньому спиратиметься на знання одержані в школі. Ведучий: Сьогодні будуть незвичайні уроки математики.
71975. Счастливый случай в математике 67.5 KB
  Цели: Повышение интереса к изучению математики, развитие творческих способностей учащихся, логического мышления. Обучение решению арифметических задач различного типа. Формирование приемов умственной и исследовательской деятельности. Воспитание интереса навыков учебного труда.
71976. Неделя математики. Брейн – ринг для учащихся 9-х классов 45.5 KB
  Первыми садятся за игровой стол команды, которым досталась фишка с номером 1. После игры проигравшие покидают игровой стол, а их место занимает команда № 2. И так далее. Жюри фиксирует количество выигранных боёв и количество отгаданных вопросов, определяет победителей.
71977. МАТЕМАТИЧНИЙ КВК (для 5-6 кл.) 120 KB
  Мета: розвивати логічне мислення, кмітливість, культуру математичного мовлення, пам’ять, виховувати вміння і навички міркування, самостійність, інтерес до предмета, впевненість у собі. Формувати соціальні, полікультурні, комунікативні та інформаційні компетентності.
71978. Математична мозаїка 52.5 KB
  Людина із задоволенням працює, якщо захоплена роботою та любить її. Уміння бачити цікаве і дивуватися приносить дітям радість, стимулює до творчих пошуків, розвиває уяву, що особливо важливо на уроках математики. Таке вміння потрібно виховувати і розвивати в учнів систематично як на уроках, так і в позакласній роботі.
71979. Вправи і задачі на засвоєння таблиці множення числа 8 52.5 KB
  Давайте дітки допоможемо берізці скинути листя Завдання Щоб побачити берізку треба перевірити д з ІІІ. Завдання Давайте дітки попросимо допомоги у сил природи. Слайд № 1 Сонечко сонечко допоможи виконати завдання: Усний рахунок Записати добутки з таблиці мал.
71980. Одиниці вимірювання маси. Кілограм. Знаходження невідомого від’ємника. Додавання та віднімання в межах 100 без переходу через десяток 57.5 KB
  Мета: Ознайомити учнів із задачами на знаходження невідомого від’ємника; довести до свідомості учнів, що задачі на знаходження невідомого від’ємникам розв’язуються дією віднімання; формувати вміння розв’язувати рівняння; повторити одиницю вимірювання маси – кілограм...