Биографии Характеристики Анализ

Численные методы в Excel. Общие сведения о решении нелинейного уравнения

Пусть найдено приближенное значение корня уравнения f (x ) = 0, обозначим его x n . Расчетная формула метода Ньютона для определения очередного приближения x n +1 может быть получена двумя способами.

Первый способ выражает геометрический смысл метода Ньютона и состоит в том, что вместо точки пересечения графика функции y = f (x ) с осью OX , мы ищем точку пересечения с осью OX касательной, проведенной к графику функции в точке (x n , f (x n )) как показано на рис. 2.6. Уравнение касательной имеет вид .

Рис. 2.7. Метод Ньютона (касательных)

В точке пересечения касательной с осью OX переменная y = 0. Приравнивая y нулю, выразим x и получим формулу метода касательных :

(2.6)

Второй способ. Разложим функцию f (x ) в ряд Тейлора в окрестности точки x = x n :

Ограничимся линейными относительно (x – x n ) слагаемыми, приравняем нулю f (x ) и, выразив из полученного уравнения неизвестное x и обозначив его через x n +1 , мы получим формулу (2.6).

Приведем достаточные условия сходимости метода Ньютона.

Теорема 2.3. Пусть на отрезке выполняются условия:

1) функция и ее производные и непрерывны;

2) производные и отличны от нуля и сохраняют определенные постоянные знаки;

3) (функция меняет знак на отрезке).

Тогда существует отрезок , содержащий искомый корень уравнения , на котором итерационная последовательность схо­дит­­ся. Если в качестве нулевого приближения выбрать ту граничную точку , в которой знак функции совпадает со знаком второй производной, т.е. , то итерационная последовательность сходится монотонно (рис.2.8).

Доказательство . Так как непрерывна, меняет знак и монотонна на , то - интервал изоляции корня. Обозначим искомый корень через . Рас­смотрим функцию и найдем ее производную . Итак, непрерывна на , обращается в нуль в точке , так как в этой точке обращается в нуль функция . Следовательно, существует такой отре­зок (), что . Если возьмем ту часть отрезка, где , то , следовательно, функция возрастающая, но тогда последовательность является монотонной.

Рис. 2.8. Достаточные условия сходимости метода Ньютона

Замечание. Отметим, что метод хорд как раз идет с противоположной стороны, и оба этих метода т.о. могут друг друга дополнять, а возможен и комбинированный метод хорд-касательных .

Пример 2.7. Уточнить до 0,000001 методом Ньютона корень уравнения
sin 5x + x 2 – 1 = 0. За начальное значение принять x 0 = – 0,7.

Решение. Найдем производную .

В программе Excel введем расчетные формулы:

1) Введем формулы и обозначения в ячейках диапазона A 1:D 3 и скопируем вниз маркером заполнения ячейки с формулами: B 3 - до B 5,
C 2 - до C 5, D 2 - до D 5;



Таблица 2.9

A B C D
k x f(x) f"(x)
–0,7 =SIN(5*B2)+B2^2–1 =5*COS(5*B2)+2*B2
=B2–C2/D2

Результаты расчетов приведены в таблице 2.10. Получено значение корня – 0,726631609 ≈ – 0,726632 с погрешностью 0,000001.

Таблица 2.10

A B C D A
k x f(x) f"(x)
-0,7 -0,159216772 -6,082283436
-0,726177138 -0,002664771 -5,865681044 0,026177138
-0,726631437 -1,00787E-06 -5,861240228 0,000454299
-0,726631609 -1,45328E-13 -5,861238543 1,71955E-07

Создадим функции в программе Excel для решения уравнения из примера 2.7 методом Ньютона.

" В отличие от метода хорд, в методе касательных вместо хорды на каждом шаге проводится касательная к кривой y=F(x) при x=x n и ищется точка пересечения касательной с осью абсцисс:

Формула для (n+1) приближения имеет вид:

Если F(a)*F"(a)>0 , x 0 =a , в противном случае x 0 =b .

Итерационный процесс продолжается до тех пор, пока не будет обнаружено, что:

Пример:

Пусть дана задача следующего характера: Уточнить корни уравнения cos(2x)+x-5=0 методом касательных с точностью до 0,00001.

Изначально необходимо определиться с тем, чему равно x0: либо a, либо b. Для этого необходимо выполнить следующие действия:

Найти производную первого порядка от функции f(x)=cos(2x)+x-5. Она будет выглядеть следующим образом: f1(x)=-2sin(2x)+1.

Найти производную второго порядка от функции f(x)=cos(2x)+x-5. Она будет выглядеть следующим образом: f2(x)=-4cos(2x).

В итоге получается следующее:

Так как x0=b, то необходимо выполнить следующие действия:

Заполнить ячейки следующим образом (обратить внимание на названия и номера столбцов при заполнении - они должны быть такими же, как на рисунке):

В ячейку A6 ввести формулу =D5.

Выделить диапазон ячеек B5:E5 и методом протягивания заполнить диапазон ячеек B6:E6.

Выделить диапазон ячеек A6:E5 и методом протягивания заполнить диапазон нижерасположенных ячеек до получения в одной из ячеек столбца E результата (диапазон ячеек A6:E9).

В итоге получаем следующее:

4. Комбинированный метод хорд и касательных

Для того чтобы достичь наиболее точной погрешности, нужно одновременно использовать методы хорд и касательных. "По формуле хорд находят x n+1 , а по формуле касательных - z n+1 . Процесс нахождения приближенного корня прекращается, как только:

В качестве приближенного корня берут значение, равное (11) :"[2 ]

Пусть требуется уточнить корни уравнения cos(2x)+x-5=0 комбинированным методом с точностью до 0,00001.

Для решения такой задачи, используя Excel, необходимо выполнить следующие действия:

    Так как в комбинированном методе необходимо использовать одну из формул хорд и формулу касательных, то для упрощения следует ввести следующие обозначения:

    Для формул хорд обозначить:

Переменная c будет играть роль a или b в зависимости от ситуации.

Остальные обозначения аналогичны приведенным в формулах хорд, только учитывая выше введенные переменные.

    Для формулы касательных обозначить:

Остальные обозначения аналогичны приведенным в формуле касательных, только учитывая выше введенные переменные.

    Найти производную первого порядка от функции f(x)=cos(2x)+x-5. Она будет выглядеть следующим образом: f1(x)=-2sin(2x)+1.

    Найти производную второго порядка от функции f(x)=cos(2x)+x-5. Она будет выглядеть следующим образом: f2(x)=-4cos(2x).

    Заполнить ячейки следующим образом (обратить внимание на названия и номера столбцов при заполнении - они должны быть такими же, как на рисунке):

    В итоге получается следующее:

    В ячейку G1 ввести e, а в G2 ввести число 0,00001.

    В ячейку H1 ввести c, а в H2 ввести число 6, так как c=b (см. ячейку F2).

    В ячейку I1 ввести f(c), а в I2 ввести формулу =COS(2*H2)+H2-5.

    Заполнить ячейки последовательно следующим образом (обратить внимание на названия и номера столбцов при заполнении - они должны быть такими же, как на рисунке):

    В ячейку A6 ввести формулу =E5.

    В ячейку F6 ввести формулу =I5.

    Выделить диапазон ячеек B5:E5 и маркером автозаполнения заполнить диапазон ячеек B6:E6.

    Выделить диапазон ячеек G5:K5 и маркером автозаполнения заполнить диапазон ячеек G6:K6.

    Выделить диапазон ячеек A6:K6 и методом протягивания заполнить все нижестоящие ячейки до получения ответа в одной из ячеек столбца K (диапазон ячеек A6:K9).

В итоге получаем следующее:

Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32976.

Иванов Иван

При прохождении темы численные методы учащиеся уже умеют работать с электронными таблицами и составлять программы на языке паскаль. Работа комбинированного характера.Расчитана на 40 минут. Цель работы повторить и закрепить навыки паботы с программами EXCEL, ABCPascal. Материал содержит 2 файла. Один содержит теоретический материал, так как он и предлагается ученику. Во 2-м файле пример работы ученика Иванова Ивана.

Скачать:

Предварительный просмотр:

Решение уравнений

Аналитическое решение некоторых уравнений, содержащих, например тригонометрические функции может быть получено лишь для единичных частных случаев. Так, например, нет способа решить аналитически даже такое простое уравнение, как cos x=x

Численные методы позволяют найти приближенное значение корня с любой заданной точностью.

Приближённое нахождение обычно состоит из двух этапов:

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

2) уточнение приближённых корней, т.е. доведение их до заданной степени точности.

Мы будем рассматривать решения уравнений вида f(x)=0. Функция f(x) определена и непрерывна на отрезке [а.Ь]. Значение х 0 называется корнем уравнения если f(х 0 )=0

Для отделения корней будем исходить из следующих положений:

  • Если f(a)* f(b] \a, b\ существует, по крайней мере, один корень
  • Если функция y = f(x) непрерывна на отрезке , и f(a)*f(b) и f "(x) на интервале (a, b) сохраняет знак, то внутри отрезка [а, b] существует единственный корень уравнения

Приближённое отделение корней можно провести и графически. Для этого уравнение (1) заменяют равносильным ему уравнением р(х) = ф(х), где функции р(х) и ф(х] более простые, чем функция f(x). Тогда, построив графики функций у = р(х) и у = ф(х), искомые корни получим, как абсциссы точек пересечения этих графиков

Метод дихотомии

Для уточнения корня разделим отрезок [а, b] пополам и вычислим значение функции f(х) в точке x sr =(a+b)/2. Выбираем ту из половин или , на концах которых функция f(x) имеет противоположные знаки.. Продолжаем процесс деления отрезка пополам и проводим то же рассмотрение до тех пор, пока. длина станет меньше заданной точности . В последнем случае за приближённое значение корня можно принять любую точку отрезка (как правило, берут его середину). Алгоритм высокоэффективен, так как на каждом витке (итерации) интервал поиска сокращается вдвое; следовательно, 10 итераций сократят его в тысячу раз. Сложности могут возникнуть с отделением корня у сложных функций.

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

ПРИМЕР : Определим графически корень уравнения . Пусть f1(х) = х , a и построим графики этих функций. (График). Корень находится на интервале от 1 до 2. Здесь же уточним значение корня с точностью 0,001(на доске шапка таблицы)

Алгоритм для программной реализации

  1. а:=левая граница b:= правая граница
  2. m:= (a+b)/2 середина
  3. определяем f(a) и f(m)
  4. если f(a)*f(m)
  5. если (a-b)/2>e повторяем, начиная с пункта2

Метод хорд.

Точки графика функции на концах интервала соединяются хордой. Точка пересечения хорды и оси Ох (х*) и используется в качестве пробной. Далее рассуждаем так же, как и в предыдущем методе: если f(x a ) и f(х*) одного знака на интервале, нижняя граница переносится в точку х*; в противном случае – переносим верхнюю границу. Далее проводим новую хорду и т.д.

Осталось только уточнить, как найти х*. По сути, задача сводится к следующей: через 2 точки с неизвестными координатами (х 1 , у 1 ) и (х 2 , у 2 ) проведена прямая; найти точку пересечения этой прямой и оси Ох.

Запишем уравнение прямой по двум точках:

В точке пересечения этой прямой и оси Ох у=0, а х=х*, то есть

Откуда

процесс вычисления приближённых значений продолжается до тех пор, пока для двух последовательных приближений корня х„ и х п _1 не будет выполняться условие abs(xn-x n-1 ) е - заданная точность

Сходимость метода гораздо выше предыдущего

Алгоритм различается только в пункте вычисления серединной точки- пересечения хорды с осью абсцисс и условия останова (разность между двумя соседними точками пересечения)

Уравнения для самостоятельного решения: (отрезок в excel ищем самостоятельно)

  1. sin(x/2)+1=x^2 (х=1,26)
  1. x-cosx=0 (х=0,739)
  1. x^2+4sinx=0 (х=-1,933)
  1. x=(x+1) 3 (х=-2,325)

Дано уравнение F(x)=0 . Это - общий вид нелинейного уравнения с одним неизвестным. Как правило, алгоритм нахождения корня состоит из двух этапов:

1. Отыскание приближенного значения корня или отрезка на оси абсцисс, его содержащего.

2. Уточнение приближенного значения корня до некоторой точности.

На первом этапе применяется шаговый метод отделения корней, на втором - один из методов уточнения (метод половинного деления, метод Ньютона, метод Хорд или метод простой итерации).

Шаговый метод

В качестве примера рассмотрим уравнение x 2 - 11x + 30 = 0. Интервал поиска , шагh = 0,3. Решим его, используя специальные возможности пакета Excel. Последовательность действий (см. рис. 1):

1. Оформить заголовок в строке 1 «Численные методы решения нелинейных уравнений».

2. Оформить заголовок в строке 3 «Шаговый метод».

3. В ячейки A6 и C6 и B6 записать данные по задаче.

4. В ячейки B9 и C9 записать заголовки рядов - соответственно x иF(x).

5. В ячейки B10 и B11 ввести первые два значения аргумента - 3 и 3.3.

6. Выделить ячейки B5-B6 и протащить ряд данных до конечного значения (3,3), убедившись в правильном выстраивании арифметической прогрессии.

7. В ячейку C10 ввести формулу «=B10*B10-11*B10+30».

8. Скопировать формулу на остальные элементы ряда, используя прием протаскивания. В интервале C10:C18 получен ряд результатов вычисления функции F(x). Видно, что функция один раз меняет знак. Корень уравнения расположен в интервале .

9. Для построения графика зависимости F(x) используем Вставка - Диаграмма (тип «Точечная», маркеры соединяются гладкими кривыми).

Метод деления отрезка пополам

В качестве примера рассмотрим уравнение x 2 - 11x + 30 = 0. Интервал поиска , с точностью ε=0.01. Решим его, используя специальные возможности пакета Excel.

1. Ввести в ячейку B21 заголовок «Метод деления отрезков пополам».

2. Ввести в ячейку A23, C23, E23 данные по задачи.

3. В области B25:H25 оформить заголовок таблицы (ряд B - левая граница отрезка «a», ряд C - середина отрезка «x», ряд D - правая граница отрезка «b», ряд E - значение функции на левой границе отрезка «F(a)», ряд F - значение функции на середине отрезка «F(x)», ряд G - произведение «F(a)*F(x)», ряд H - проверка достижения точности « ê F(x)ê <е».

4. Ввести первоначальные значения концов отрезка: в ячейку B26 «4.8», в ячейку D26 «5.1».

5. Ввести в ячейку C26 формулу «=(B26+D26)/2».

6. Ввести в ячейку E26 формулу «=B26*B26-11*B26+30».

7. Ввести в ячейку F26 формулу «=C26*C26-11*C26+30».

8. Ввести в ячейку G26 формулу «=E26*F26».

9. Ввести в ячейку H26 формулу «=ЕСЛИ(ABS(F26)<0.01; ² корень² )».

1 0. Выделить область B21:H21 и протащить ее по вертикали вплоть до появления в ряду H сообщения «корень» (ячейка H29, H30).

Метод касательных (Ньютона)

1. Ввести в ячейку J23 заголовок «Метод касательной (Ньютона)».

2. Ввести в ячейку L23 текст «е=», а в ячейку M23 значение точности «0.00001».

3. В области K25:N25 оформить заголовок таблицы (ряд K - значение аргумента «x», ряд L - значение функции «F(x)», ряд M - производная функции «F ¢ (x)», ряд N - проверка достижения точности «ê F(x)ê <е».

4. В ячейку K26 ввести первоначальное значение аргумента «-2».

5. Ввести в ячейку L26 формулу «=K26*K26*K26+2*K26*K26+3*K26+5».

6. Ввести в ячейку M26 формулу «=3*K26*K26+4*K26+3».

7. Ввести в ячейку N26 формулу «=ЕСЛИ(ABS(L26)<$M$23;"корень")».

8. Ввести в ячейку K27 формулу «=K26-L26/M26».

9. Выделить область L27:N27 и протащить ее по вертикали вплоть до появления в ряду N сообщения «корень» (ячейка N30).

Метод хорд

В качестве примера рассмотрим уравнение x 3 +2x 2 +3x+5= 0. Точность ε=0.01. Решим его, используя специальные возможности пакета Excel.

1. Ввести в ячейку B32 заголовок «Метод хорд».

2. Ввести в ячейку C34 текст «е=», а в ячейку E34 значение точности «0.00001».

3. В области B36:D36 оформить заголовок таблицы (ряд B - значение аргумента «x», ряд C - значение функции «F(x)», ряд D - проверка достижения точности « ê F(x)ê <е».

4. В ячейку B37 и B38 ввести первоначальное значение аргумента «-2» и. «-1»

5. Ввести в ячейку С37 формулу «=B37*B37*B37+2*B37*B37+3*B37+5».

6. Ввести в ячейку D37 формулу «=ЕСЛИ(ABS(B38-B37)<$D$34;"корень")».

7. Ввести в ячейку B39 формулу «=B38-C38*(B38-B37)/(C38-C37)».

8. Выделить область C39:D39 и протащить ее по вертикали вплоть до появления в ряду D сообщения «корень» (ячейка D43).

Метод простой итерации

В качестве примера рассмотрим уравнение x 2 - 11x + 30 = 0. Интервал поиска , с точностьюe =0,05.

1. Ввести в ячейку K32 заголовок «Метод простой итерации»

2. Ввести в ячейку N34 текст «е=», а в ячейку O34 значение точности «0,05».

3. Выбрать функцию j (x), удовлетворяющую условию сходимости. В нашем случае такой функцией является функция S(x)=(x*x+30)/11.

4. В области K38:N38 оформить заголовок таблицы (ряд K - значение аргумента «x», ряд L - значение функции «F(x)», ряд M - значение вспомогательной функции «S(x)», ряд N - проверка достижения точности « ê F(x)ê <е».

5. В ячейку K39 ввести первоначальное значение аргумента «4.8».

6. Ввести в ячейку L39 формулу «=K39*K39-11*K39+30».

7. Ввести в ячейку M39 формулу «=(K39*K39+30)/11».

8. Ввести в ячейку N39 формулу «=ЕСЛИ(ABS(L39)<$O$34;"корень")».

9. Ввести в ячейку K40 формулу «=M39».

1 0. Скопировать ячейки L39:N39 в ячейки L40:N40.

1 1 . Выделить область L40:N40 и протащить ее по вертикали вплоть до появления в ряду N сообщения «корень» (ячейка N53).

Рис.1 Решение нелинейных уравнений в среде Excel