Метод касательных в excel
Дано уравнение F(x)=0 . Это - общий вид нелинейного уравнения с одним неизвестным. Как правило, алгоритм нахождения корня состоит из двух этапов:
1. Отыскание приближенного значения корня или отрезка на оси абсцисс, его содержащего.
2. Уточнение приближенного значения корня до некоторой точности.
На первом этапе применяется шаговый метод отделения корней, на втором - один из методов уточнения (метод половинного деления, метод Ньютона, метод Хорд или метод простой итерации).
Шаговый метод
В качестве примера рассмотрим уравнение x 2 - 11 x + 30 = 0. Интервал поиска [3,5.4], шаг 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). Видно, что функция один раз меняет знак. Корень уравнения расположен в интервале [4.8,5.1].
9. Для построения графика зависимости F(x) используем Вставка - Диаграмма (тип «Точечная», маркеры соединяются гладкими кривыми).
Метод деления отрезка пополам
В качестве примера рассмотрим уравнение x 2 - 11 x + 30 = 0. Интервал поиска [3,5.4], с точностью ε=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)
Метод касательных (Ньютона)
В качестве примера рассмотрим уравнение x 3 +2 x 2 +3x+5= 0. Точность ε=0.01. Решим его, используя специальные возможности пакета Excel.
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».
Метод хорд
В качестве примера рассмотрим уравнение x 3 +2 x 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».
Метод простой итерации
В качестве примера рассмотрим уравнение x 2 - 11 x + 30 = 0. Интервал поиска [4.8,5.1], с точностью 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.
Инструкция . Введите выражение F(x) , нажмите Далее . Полученное решение сохраняется в файле Word . Также создается шаблон решения в Excel . Ниже представлена видеоинструкция.
Правила ввода функции
Рассмотрим более быстрый способ нахождения корня на интервале [a,b], в предположении, что f(a)f(b)<0.
f’’(x)>0 f’’(x)f(b)f’’(b)>0 f(a)f’’(a)>00.>
Рассмотрим рис.1а. Проведем через точки А и В хорду. Уравнение хорды
.
В точке x=x1, y=0, в результате получим первое приближение корня
. (3.8)
Проверяем условия
(а) f(x1)f(b)(б) f(x1)f(a)Если выполняется условие (а), то в формуле (3.8) точку a заменяем на x1, получим
Продолжая этот процесс, получим для n-го приближения
. (3.9)
Здесь подвижен конец a, то есть f(xi)f(b)Рассмотрим случай, когда неподвижен конец a .
f’’(x)0
f(b)f’’(b)
Рис. 3
На рис.3 f’’(x) меняет знак, поэтому подвижными будут оба конца.
Прежде чем перейти к вопросу о сходимости итерационного процесса метода хорд введем понятие выпуклой функции.
Определение. Непрерывная на [a,b] функция называется выпуклой (вогнутой), если для любых двух точек x1,x2, удовлетворяющих a≤x12≤b и aÎ[0,1] выполняется соотношение
f(αx1 + (1-α)x2) ≤ αf(x1) + (1-α)f(x2) - выпуклая.
f(αx1 + (1-α)x2) ≥ αf(x1) + (1-α)f(x2) - вогнутая
Для выпуклой функции f’’(x)≥0.
Для вогнутой функции f’’(x)≤0
Теорема 3. Если функция f(x) выпукла (вогнута) на отрезке [a,b], то на любом отрезке [x1,x2]⊂[a,b] график функции f(x) лежит не выше (не ниже) хорды, проходящей через точки графика с абсциссами x1 и x2.
Доказательство:
Рассмотрим выпуклую функцию. Уравнение хорды: проходящей через x1 и x2 имеет вид:
.
Рассмотрим точку c= αx1 + (1-α)x2, где aÎ[0,1]
С другой стороны, по определению выпуклой функции имеем f(αx1 + (1-α)x2) ≤ αf1 + (1-α)f2; поэтому f(c) ≤ g(c) ч.т.д.
Для вогнутой функции доказательство аналогично.
Доказательство сходимости итерационного процесса рассмотрим для случая выпуклой (вогнутой) функции.
Для рис 2а f(ε)≥μ·fn-1+(1-μ)·fb. Следовательно, из (3.12) получим
α·fn-1+(1-α)·fb≥μ·fn-1+(1-μ)·fb значит
α(fn-1-fb)≥μ(fn-1-fb) так как fn-1>fb → α>μ → xn≤ε и т.д.
Аналогичное доказательство для рис.1б и рис.2б. Таким образом, мы доказали, что последовательность чисел i> является сходящейся.
a≤x012<…n≤ξ≤ b (рис.1а,2а).
a≤ ξn< … 10≤ x0≤ b (рис.1б,2б).
Это значит, что для любого ε можно указать такое n, что будет выполняться |xn - ξ |Сходимость метода хорд линейная с коэффициентом .
, (3.14)
где m1=min|f’(x)|, M1=max|f’(x)|.
Это вытекает из следующих формул. Рассмотрим случай неподвижного конца b и f(b)>0.
Имеем из (3.9) . Отсюда
. Учитывая, что , мы можем записать или
.
Заменяя в знаменателе правой части (ξ-xn-1) на (b-xn-1) и учитывая, что (ξ-xn-1)< (b-xn-1), получим , что и требовалось доказать (см. неравенство (3.14)).
Доказательство сходимости для случая рис.3 (f’’(x) меняет знак; в общем случае как f’, так и f’’ могут менять знаки) более сложное и здесь не приводится.
Алгоритм метода хорд
Описание алгоритма метода хорд
Шаг 1. Ввод a,b,ε.
Шаг 2. X:=a-f(a)×(b-a)/(f(b)-f(a)).
Шаг 3. Если dF2(b)×F(b) Если dF2(a)×F(a)Шаг 4. Пересчитать X по формуле шага 2.
Шаг 5. Выполнять шаг 3, пока abs(b-a)Шаг 4.Вывод результата – x.
Опишем назначение переменных и функций, используемых в процедуре Hord
dF2 – значение второй производной в точке Х
F – значение функции в точке Х
Х0 – начальное значение Х
А – левая граница
В – правая граница
Е – точность вычислений
Fa – значение функции в точке А
Fb - значение функции в точке В
Представим в виде структурной схемы. Блок схема алгоритма метода хорд
Для начала нам необходимо проверить границы интервала. Для этого разбиваем интервал на 10 частей и в цикле проверяем условие наличия корня:
Реализация алгоритма метода хорд на Pascal
Примеры решения
Пример 2 . В задачах определить количество действительных корней уравнения f(x) = 0, отделить эти корни и, применяя метод хорд и касательных, найти их приближенные значения с точностью до 0.001.
" В отличие от метода хорд, в методе касательных вместо хорды на каждом шаге проводится касательная к кривой y=F(x) при x=xn и ищется точка пересечения касательной с осью абсцисс:
Формула для (n+1) приближения имеет вид:
Если F(a)*F"(a)>0, x0=a, в противном случае x0=b.
Итерационный процесс продолжается до тех пор, пока не будет обнаружено, что:
.
Пусть дана задача следующего характера: Уточнить корни уравнения cos(2x)+x-5=0 методом касательных с точностью до 0,00001.
Для решения такой задачи, используя Excel, необходимо выполнить следующие действия:
Изначально необходимо определиться с тем, чему равно 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).
В итоге получаем следующее:
Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32976.
4. Комбинированный метод хорд и касательных
Для того чтобы достичь наиболее точной погрешности, нужно одновременно использовать методы хорд и касательных. "По формуле хорд находят xn+1 , а по формуле касательных - zn+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).
" В отличие от метода хорд, в методе касательных вместо хорды на каждом шаге проводится касательная к кривой y=F(x) при x=xn и ищется точка пересечения касательной с осью абсцисс:
Формула для (n+1) приближения имеет вид:
Если F(a)*F"(a)>0, x0=a, в противном случае x0=b.
Итерационный процесс продолжается до тех пор, пока не будет обнаружено, что:
.
Пусть дана задача следующего характера: Уточнить корни уравнения cos(2x)+x-5=0 методом касательных с точностью до 0,00001.
Для решения такой задачи, используя Excel, необходимо выполнить следующие действия:
Изначально необходимо определиться с тем, чему равно 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).
В итоге получаем следующее:
Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32976.
4. Комбинированный метод хорд и касательных
Для того чтобы достичь наиболее точной погрешности, нужно одновременно использовать методы хорд и касательных. "По формуле хорд находят xn+1 , а по формуле касательных - zn+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).
Задание: дано нелинейного уравнения f(x) = 0 на заданном отрезке [a,b]. Требуется средствами табличного процессора Excel найти корни данного уравнения методом касательных с использованием циклических ссылок.
Найдем корень нелинейного уравнения в табличном процессоре Excel методом касательных с использованием циклических ссылок. Для нахождения корня будем использовать формулу:
Для включения режима циклических вычислений в Excel 2003 в меню Сервис/Параметры/вкладка Вычисления следует поставить флажок Итерации и флажок выбора вида ведения вычислений: автоматически. В MS Excel 2010 следует зайти в меню Файл/Параметры/Формулы и поставить флажок в поле "Включить итеративные вычисления" :
Найдем производную функции f(x)=x-x 3 +1
f’(x)=1-3x 2
В ячейку А3 введем значение а =1, ячейку В3 введем формулу расчета текущего значения х: =ЕСЛИ(B3=0;A3;B3-(B3-СТЕПЕНЬ(B3;3)+1)/(1-3*СТЕПЕНЬ(B3;2)))
В ячейку С3 введем формулу для контроля значения f(x): =B3-СТЕПЕНЬ(B3;3)+1.
Получим корень уравнения в ячейке В3 х=1,325.
Введем начальное приближение в ячейку А3 =2. Но для того чтобы вычисления были правильные, недостаточно изменить число в ячейке А3 и запустить процесс вычислений. Потому что в этом случае вычисления продолжаться с последнего вычисленного ранее значения. Это значение, в ячейке В3, необходимо обнулить, для этого можно заново записать туда формулу или просто выбрать ячейку с формулой и дважды щелкнуть мышью на ней . После этого поставить курсор на ячейку с формулой и нажать клавишу Enter для запуска процесса итерационных вычислений.
Читайте также: