Решите нелинейное уравнение методом касательных в экселе
Найдем корень нелинейного уравнения в табличном процессоре 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 для запуска процесса итерационных вычислений.
Получим тот же результат, значит корень на данном промежутке один.
Решение уравнений в EXCEL методом половинного деления, методом хорд и касательных.
При прохождении темы численные методы учащиеся уже умеют работать с электронными таблицами и составлять программы на языке паскаль. Работа комбинированного характера.Расчитана на 40 минут. Цель работы повторить и закрепить навыки паботы с программами EXCEL, ABCPascal. Материал содержит 2 файла. Один содержит теоретический материал, так как он и предлагается ученику . Во 2-м файле пример работы ученика Иванова Ивана.
Скачать:
Вложение | Размер |
---|---|
материал для ученика | 57.5 КБ |
работа ученика | 27 КБ |
Предварительный просмотр:
Аналитическое решение некоторых уравнений, содержащих, например тригонометрические функции может быть получено лишь для единичных частных случаев. Так, например, нет способа решить аналитически даже такое простое уравнение, как cos x=x
Численные методы позволяют найти приближенное значение корня с любой заданной точностью.
Приближённое нахождение обычно состоит из двух этапов:
1) отделение корней, т.е. установление возможно точных промежутков [a,b], в которых содержится только один корень уравнения;
2) уточнение приближённых корней, т.е. доведение их до заданной степени точности.
Мы будем рассматривать решения уравнений вида f(x)=0. Функция f(x) определена и непрерывна на отрезке [а.Ь]. Значение х 0 называется корнем уравнения если f(х 0 )=0
Для отделения корней будем исходить из следующих положений:
- Если f(a)* f(b] a, b существует, по крайней мере, один корень
- Если функция y = f(x) непрерывна на отрезке [a, b], и f(a)*f(b) и f ‘(x) на интервале (a, b) сохраняет знак, то внутри отрезка [а, b] существует единственный корень уравнения
Приближённое отделение корней можно провести и графически. Для этого уравнение (1) заменяют равносильным ему уравнением р(х) = ф(х), где функции р(х) и ф(х] более простые, чем функция f(x). Тогда, построив графики функций у = р(х) и у = ф(х), искомые корни получим, как абсциссы точек пересечения этих графиков
Для уточнения корня разделим отрезок [а, b] пополам и вычислим значение функции f(х) в точке x sr =(a+b)/2. Выбираем ту из половин [a, x sr ] или [x sr ,b], на концах которых функция f(x) имеет противоположные знаки.. Продолжаем процесс деления отрезка пополам и проводим то же рассмотрение до тех пор, пока. длина [a,b] станет меньше заданной точности . В последнем случае за приближённое значение корня можно принять любую точку отрезка [a,b] (как правило, берут его середину). Алгоритм высокоэффективен, так как на каждом витке (итерации) интервал поиска сокращается вдвое; следовательно, 10 итераций сократят его в тысячу раз. Сложности могут возникнуть с отделением корня у сложных функций.
Для приближенного определения отрезка на котором находится корень можно воспользоваться табличным процессором, построив график функции
ПРИМЕР : Определим графически корень уравнения . Пусть f1(х) = х , a и построим графики этих функций. (График). Корень находится на интервале от 1 до 2. Здесь же уточним значение корня с точностью 0,001(на доске шапка таблицы)
Алгоритм для программной реализации
- а:=левая граница b:= правая граница
- m:= (a+b)/2 середина
- определяем f(a) и f(m)
- если f(a)*f(m)
- если (a-b)/2>e повторяем , начиная с пункта2
Точки графика функции на концах интервала соединяются хордой. Точка пересечения хорды и оси Ох (х*) и используется в качестве пробной. Далее рассуждаем так же, как и в предыдущем методе: если f(x a ) и f(х*) одного знака на интервале , нижняя граница переносится в точку х*; в противном случае – переносим верхнюю границу. Далее проводим новую хорду и т.д.
Осталось только уточнить, как найти х*. По сути, задача сводится к следующей: через 2 точки с неизвестными координатами (х 1 , у 1 ) и (х 2 , у 2 ) проведена прямая; найти точку пересечения этой прямой и оси Ох.
Запишем уравнение прямой по двум точках:
В точке пересечения этой прямой и оси Ох у=0, а х=х*, то есть
, откуда
процесс вычисления приближённых значений продолжается до тех пор, пока для двух последовательных приближений корня х„ и х п _1 не будет выполняться условие abs(xn-x n-1 ) е — заданная точность
Сходимость метода гораздо выше предыдущего
Алгоритм различается только в пункте вычисления серединной точки- пересечения хорды с осью абсцисс и условия останова (разность между двумя соседними точками пересечения)
Уравнения для самостоятельного решения: (отрезок в excel ищем самостоятельно)
Метод Ньютона в Excel
Как видно, процесс нахождения корней нелинейного уравнения методом Ньютона состоит из следующих этапов:
- Получения шаблона.
- Уточнение интервалов в ячейках B2 , B3 .
- Замена в формуле ЕСЛИ запятую ( , ) на точку с запятой ( ; ).
- Копирование строки итераций до требуемой точности (столбец E ).
Примечание: столбец A — номер итерации, столбец B — корень уравнения X , столбец C — значение функции F(X) , столбец D — значение первой производной dF(X) , столбец E — точность eps .
источники:
http://nsportal.ru/ap/library/drugoe/2015/08/20/reshenie-uravneniy-v-excel-metodom-polovinnogo-deleniya-metodom-hord-i
http://math.semestr.ru/optim/newton-excel.php
»
В отличие от метода хорд, в методе
касательных вместо хорды на каждом шаге
проводится касательная к кривой 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,
необходимо выполнить следующие действия:
-
Так
как в комбинированном методе необходимо
использовать одну из формул хорд и
формулу касательных, то для упрощения
следует ввести следующие обозначения:
-
Для
формул хорд обозначить:
—
xn как mn.
—
Переменная c будет играть роль a или b в
зависимости от ситуации.
—
Остальные обозначения аналогичны
приведенным в формулах хорд, только
учитывая выше введенные переменные.
-
Для
формулы касательных обозначить:
—
xn как nn.
—
Остальные обозначения аналогичны
приведенным в формуле касательных,
только учитывая выше введенные переменные.
-
Найти
производную первого порядка от функции
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.
Соседние файлы в папке Численные_методы
- #
- #
- #
- #
- #
- #
Решение уравнений
Аналитическое решение некоторых уравнений, содержащих, например тригонометрические функции может быть получено лишь для единичных частных случаев. Так, например, нет способа решить аналитически даже такое простое уравнение, как cos x=x
Численные методы позволяют найти приближенное значение корня с любой заданной точностью.
Приближённое нахождение обычно состоит из двух этапов:
1) отделение корней, т.е. установление возможно точных промежутков [a,b], в которых содержится только один корень уравнения;
2) уточнение приближённых корней, т.е. доведение их до заданной степени точности.
Мы будем рассматривать решения уравнений вида f(x)=0. Функция f(x)определена и непрерывна на отрезке [а.Ь]. Значение х0 называется корнем уравнения если f(х0)=0
Для отделения корней будем исходить из следующих положений:
- Если f(a)* f(b] < 0 , то внутри отрезка a, b существует, по крайней мере, один корень
- Если функция y = f(x) непрерывна на отрезке [a, b], и f(a)*f(b)<0 и f‘(x) на интервале (a, b) сохраняет знак, то внутри отрезка [а, b] существует единственный корень уравнения
Приближённое отделение корней можно провести и графически. Для этого уравнение (1) заменяют равносильным ему уравнением р(х) = ф(х), где функции р(х) и ф(х] более простые, чем функция f(x). Тогда, построив графики функций у = р(х) и у = ф(х), искомые корни получим, как абсциссы точек пересечения этих графиков
Метод дихотомии
Для уточнения корня разделим отрезок [а, b] пополам и вычислим значение функции f(х) в точке xsr=(a+b)/2. Выбираем ту из половин [a, xsr ] или [xsr ,b], на концах которых функция f(x) имеет противоположные знаки.. Продолжаем процесс деления отрезка пополам и проводим то же рассмотрение до тех пор, пока. длина [a,b] станет меньше заданной точности. В последнем случае за приближённое значение корня можно принять любую точку отрезка [a,b] (как правило, берут его середину). Алгоритм высокоэффективен, так как на каждом витке (итерации) интервал поиска сокращается вдвое; следовательно, 10 итераций сократят его в тысячу раз. Сложности могут возникнуть с отделением корня у сложных функций.
Для приближенного определения отрезка на котором находится корень можно воспользоваться табличным процессором, построив график функции
ПРИМЕР: Определим графически корень уравнения . Пусть f1(х) = х, a и построим графики этих функций. (График). Корень находится на интервале от 1 до 2. Здесь же уточним значение корня с точностью 0,001(на доске шапка таблицы)
Решение в Excel,
Алгоритм для программной реализации
- а:=левая граница b:= правая граница
- m:= (a+b)/2 середина
- определяем f(a) и f(m)
- если f(a)*f(m)<0 то b:=m иначе a:=m
- если (a-b)/2>e повторяем , начиная с пункта2
Метод хорд.
Точки графика функции на концах интервала соединяются хордой. Точка пересечения хорды и оси Ох (х*) и используется в качестве пробной. Далее рассуждаем так же, как и в предыдущем методе: если f(xa) и f(х*) одного знака на интервале , нижняя граница переносится в точку х*; в противном случае – переносим верхнюю границу. Далее проводим новую хорду и т.д.
Осталось только уточнить, как найти х*. По сути, задача сводится к следующей: через 2 точки с неизвестными координатами (х1, у1) и (х2, у2) проведена прямая; найти точку пересечения этой прямой и оси Ох.
Запишем уравнение прямой по двум точках:
В точке пересечения этой прямой и оси Ох у=0, а х=х*, то есть
, откуда
процесс вычисления приближённых значений продолжается до тех пор, пока для двух последовательных приближений корня х„ и хп_1 не будет выполняться условие abs(xn-xn-1)е — заданная точность
Сходимость метода гораздо выше предыдущего
Алгоритм различается только в пункте вычисления серединной точки- пересечения хорды с осью абсцисс и условия останова (разность между двумя соседними точками пересечения)
Решение в Excel
Уравнения для самостоятельного решения: (отрезок в excel ищем самостоятельно)
- (х=1,261)
- (х=?)
- sin(x/2)+1=x^2 (х=1,26)
- y=sin3x*cos5x (х=?)
- (х=0,756)
- x-cosx=0 (х=0,739)
- x^2+4sinx=0 (х=-1,933)
- x=(x+1)3 (х=-2,325)