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

Решение уравнений в 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(на доске шапка таблицы)

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

  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 Численный метод решения нелинейных уравнений

1.1 Область локализации корней

В общем виде любое уравнение одной переменной принято записывать так , при этом корнем (решением) называется такое значение x*, что оказывается верным тождеством. Уравнение может иметь один, несколько (включая бесконечное число) или ни одного корня. Как легко видеть, для действительных корней задача отыскания решения уравнения легко интерпретируется графически: корень есть такое значение независимой переменной, при котором происходит пересечение графика функции, стоящей в левой части уравнения f ( x ), с осью абсцисс.

Например , для уравнения выполним преобразование и приведем его к виду f(x)= 0 т.е. . График этой функции представлен на рисунке 1. Очевидно, что данное уравнение имеет два действительных корня – один на отрезке [-1, 0] , а второй – [1, 2].

Рисунок 1. График функции

Таким образом, можно приблизительно определять область локализации корней уравнения. Заметим, что отделить корень можно не единственным образом: если корень отделён на каком-либо отрезке, то годится и любой меньший отрезок, содержащий этот корень. Вообще говоря, чем меньше отрезок, тем лучше, но при этом не следует забывать о том, что на отделение корня на меньших отрезках также тратятся вычислительные усилия, и, быть может, весьма значительные. Таким образом, часто для начала довольствуются весьма широким отрезком, на котором корень отделён.

Некоторые виды уравнений допускают аналитическое решение. Например, степенные алгебраические уравнения степени n при n ≤ 4. Однако, в общем виде, аналитическое решение, как правило, отсутствует. В этом случае, применяются численные методы. Все численные методы решения уравнений представляют собой итерационные алгоритмы последовательного приближения к корню уравнения. То есть, выбирается начальное приближение к корню x 0 и затем с помощью итерационной формулы генерируется последовательность x 1, x 2, …, xk сходящаяся к корню уравнения .

1.2 Критерии сходимости при решении уравнений

Ø Абсолютная погрешность — абсолютное изменение приближения на соседних шагах итерации

Ø Относительная погрешность — относительное изменение приближения на соседних шагах итерации

Ø Близость к нулю вычисленного значения левой части уравнения (иногда это значение называют невязкой уравнения, так как для корня невязка равна нулю)

1.3 Метод половинного деления (метод дихотомии)

Метод половинного деления основан на последовательном делении отрезка локализации корня пополам.

Для этого выбирается начальное приближение к отрезку [ a , b ], такое, что f ( a ) × f ( b ) — середине отрезка [ a , b ]. Если он противоположен знаку функции в точке a, то корень локализован на отрезке [ a , c ], если же нет – то на отрезке [ c , b ]. Схема метода дихотомии приведен на рис у нке 2.

Рисунок 2. Последовательное деление отрезка пополам и приближение к корню

Алгоритм метода дихотомии можно записать так:

1. представить решаемое уравнение в виде

2. выбрать a, b и вычислить

3. если f(a) × f( с ) то a=a; b = c иначе a = c; b=b

4. если критерий сходимости не выполнен, то перейти к п. 2

Пример решения уравнения методом дихотомии

Найти решение заданного уравнения методом дихотомии с точностью до 10 -5 .

Пример создания расчетной схемы на основе метода дихотомии на примере уравнения: на отрезке [1, 2]

Данный метод заключается в проверке на каждой итерации условия:

если f ( a ) × f (с) и выбор соответствующего отрезка для следующей итерации.

Рисунок 3. Последовательность итераций метода дихотомии при поиске корня уравнения на отрезке [1, 2]

a ) схема расчета (зависимые ячейки); b) режим отображения формул;

Для нашего примера итерационная последовательность для нахождения решения принимает вид:

Точность до пятой значащей цифры достигается за 20 итераций.

Скорость сходимости этого метода является линейной.

При выполнении начального условия он сходится к решению всегда.

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

2 Решение уравнений , используя “Подбор параметра ”

Используя возможности Excel можно находить корни нелинейного уравнения вида f(x)=0 в допустимой области определения переменной. Последовательность операций нахождения корней следующая:

1. Производится табулирование функции в диапазоне вероятного существования корней;

2. По таблице фиксируются ближайшие приближения к значениям корней;

3. Используя средство Excel Подбор параметра, вычисляются корни уравнения с заданной точностью.

При подборе параметра Excel использует итерационный (циклический) процесс. Количество итераций и точность устанавливаются в меню Сервис/Параметры/вкладка Вычисления. Если Excel выполняет сложную задачу подбора параметра, можно нажать кнопку Пауза в окне диалога Результат подбора параметра и прервать вычисление, а затем нажать кнопку Шаг, чтобы выполнить очередную итерацию и просмотреть результат. При решении задачи в пошаговом режиме появляется кнопка П родолжить — для возврата в обычный режим подбора параметра.

2.1 Пример решения уравнения, используя “Подбор параметра”

Например , найдем все корни уравнения 2x 3 -15sin(x)+0,5x-5=0 на отрезке [-3 ; 3].

Для локализации начальных приближений необходимо определить интервалы значений Х, внутри которых значение функции пересекает ось абсцисс, т.е. функция меняет знак. С этой целью табулируем функцию на отрезке [–3; 3] с шагом 0,2, получим табличные значения функции. Из полученной таблицы находим, что значение функции трижды пересекает ось Х, следовательно, исходное уравнение имеет на заданном отрезке все три корня.

Рисунок 4. Поиск приближенных значений корней уравнения

Выполните команду меню Сервис/Параметры, во вкладке Вычисления установите относительную погрешность вычислений E=0,00001, а число итераций N=1000, установите флажок Итерации.

Выполните команду меню Сервис/Подбор параметра. В диалоговом окне (рисунок 9) заполните следующие поля:

þ Установить в ячейке : в поле указывается адрес ячейки, в которой записана формула правой части функции;

þ Значение : в поле указывается значение, которое должен получить полином в результате вычислений, т.е. правая часть уравнения (в нашем случае 0);

þ Изменяя значение : в поле указывается адрес ячейки (где записано начальное приближение), в которой будет вычисляться корень уравнения и на которую ссылается формула.

Рисунок 5. Диалоговое окно Подбор параметра для поиска первого корня

После щелчка на ОК получим значение первого корня -1,65793685 .

Выполняя последовательно операции аналогичные предыдущим, вычислим значения остальных корней: -0,35913476 и 2,05170101 .

3 Решение уравнений и систем уравнений, используя надстройку “Поиск решения”

Для решения уравнений можно также использовать команду Поиск решения, доступ к которой реализуется через пункт меню Сервис/Поиск решения.

Последовательность операций нахождения корней следующая:

1. Найти приближенное значение корня уравнения

2. Открыть диалог Поиск решения и установить следующие параметры (рисунок 10):

þ в поле У становить целевую ячейку ввести адрес ячейки, содержащей формулу (левую часть уравнения);

þ установить переключатель в положение ‘ значению’ и ввести значение 0 (правая часть уравнения);

þ в поле Изменяя ячейки ввести адреса изменяемых ячеек, т.е. аргумента x целевой функции,;

þ в поле Ограничения с помощью кнопки Д обавить ввести все ограничения, которым должен отвечать результат поиска (область поиска корня уравнения);

þ для запуска процесса поиска решения нажать кнопку В ыполнить.

þ Для сохранения полученного решения необходимо использовать переключатель С охранить найденное решение в открывшемся окне диалога Результаты поиска решения.

Рисунок 6. Диалоговое окно Поиск решения

Полученное решение зависит от выбора начального приближения. Поиск начальных приближений рассмотрен выше.

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

þ Максимальное время — ограничивает время, отведенное на процесс поиска решения (по умолчанию задано 100 секунд, что достаточно для задач, имеющих около 10 ограничений, если задача большой размерности, то время необходимо увеличить).

þ Относительная погрешность — задает точность, с которой определяется соответствие ячейки целевому значению или приближение к указанным ограничениям (десятичная дробь от 0 до 1).

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

þ Показывать результаты итераций — этот флажок позволяет включить пошаговый процесс поиска, показывая на экране результаты каждой итерации.

þ Метод поиска — служит для выбора алгоритма оптимизации. Метод Ньютона был рассмотрен ранее. В Методе сопряженных градиентов запрашивается меньше памяти, но выполняется больше итераций, чем в методе Ньютона. Данный метод следует использовать, если задача достаточно велика и если итерации дают слишком малое отличие в последовательных приближениях.

Рисунок 7. Вкладка Параметры окна Поиск решения

3.1 Пример решения уравнения, используя надстройку “Поиск решения”

Например , найдем все корни уравнения 2x 3 -15sin(x)+0,5x-5=0 на отрезке [-3 ; 3]. Для локализации начальных приближений необходимо определить интервалы значений Х, внутри которых значение функции пересекает ось абсцисс, т.е. функция меняет знак. С этой целью табулируем функцию на отрезке [–3;3] с шагом 0,2, получим табличные значения функции. Из полученной таблицы находим, что значение функции трижды пересекает ось Х, следовательно, исходное уравнение имеет на заданном отрезке все три корня. На рисунке 12 представлен пример заполнения окна Поиск решения для нахождения первого корня на отрезке [-2; -1].

Рисунок 8. Пример решения уравнения при помощи надстройки Поиск решения

Задание 1. Решение уравнений численным методом

На листе 1 (название листа: Численные методы) для заданного уравнения вида f(x)=0 (Таблица 1. Индивидуальные задания ) реализовать итерационные расчетные схемы методов, указанных в Таблице 1 для нахождения хотя бы одного корня на заданном интервале. Количество итераций просчитать, оценивая , .

Задания 2. Решение уравнений встроенными средствами “Подбор параметра” и “Поиск решения”

На листе 2 (название листа: Подбор Поиск) для заданного уравнения вида f(x)=0 (Таблица 1. Индивидуальные задания) на заданном интервале и с некоторым шагом (шаг выбрать самостоятельно) построить таблицу значений функции f(x) и определить количество корней уравнения и выделить интервалы, на которых находятся корни. Построить график функции. Уточнить на заданных интервалах с точностью до 10 -6 корни уравнения с помощью встроенных средств: Подбор параметра, Поиск решения

Решение нелинейных уравнений в Excel и Mathcad (стр. 1 )

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

Кафедра прикладной математики и вычислительной техники

Решение нелинейных уравнений в Excel и Mathcad

к выполнению лабораторных работ

по дисциплине «Вычислительная математика»

Решение нелинейных уравнений в Excel и Mathcad: Метод. указ. / Сост. , — Самара: СГАСУ, 20с.

Методические указания разработаны в соответствии с Государственным образовательным стандартом изучения дисциплины «Вычислительная математика».

Рассмотрена реализация численных методов при решении нелинейных уравнений и систем уравнений в Excel и MathCad. Приведены варианты заданий для индивидуального выполнения и вопросы для самоконтроля и тестирования.

Предназначены для студентов специальности 230201 – «Информационные системы и технологии» всех форм обучения.

Рецензент к. ф-м. н.

Ó , составление, 2012

1 Решение нелинейного уравнения

1.1 Общие сведения о решении нелинейного уравнения

1.2 Отделение корней

1.3 Уточнение корней стандартными средствами Excel и Mathcad

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

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

1.7 Комбинированный метод

1.8 Метод итераций

2 Решение систем нелинейных уравнений

2.1 Общие сведения о решении систем нелинейных уравнений

2.2 Решение систем нелинейных уравнений методом Ньютона

2.3 Решение систем нелинейных уравнений методами итераций

3 Задания к лабораторным работам

Лабораторная № 1. Отделение корней и стандартные инструменты решения нелинейного уравнения

Лабораторная № 2. Сравнение методов уточнения корней нелинейного уравнения

Лабораторная № 3. Решение систем нелинейных уравнений

Лабораторная № 4. Программирование методов решения нелинейных уравнений и систем

4 Вопросы и тесты для самоконтроля

Список рекомендуемой литературы

1 Решение нелинейного уравнения

1.1 Общие сведения о решении нелинейного уравнения

Как правило, нелинейное уравнения общего вида f(х)=0 невозможно решить аналитически. Для практических задач достаточно найти приближенное значение x, в определенном смысле близкое к точному решению уравнения хточн.

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

Достигнутая точность может оцениваться либо «по функции» (в найденной точке x, функция достаточно близка к 0, т. е. выполняется условие |f(x)|≤ ef, где ef требуемая точность по оси ординат), либо «по аргументу» (найден достаточно маленький отрезок [a,b], внутри которого находится корень, т. е. |b–a|≤ ex, где ex требуемая точность по оси абсцисс).

1.2 Отделение корней

Отделение корней может производиться сочетанием графического и аналитического исследования функции. Такое исследование опирается на теорему Вейерштрасса, в соответствии с которой для непрерывной на отрезке [a,b] функции f(х) и любого числа y, отвечающего условию f(a)≤y≤f(b), существует на этом отрезке точка x, в которой функция равна y. Следовательно, для непрерывной функции достаточно найти отрезок, на концах которого функция имеет разные знаки, и можно быть уверенным, что на этом отрезке есть корень уравнения f(х)=0.

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

Пример Найти с точностью до целых все корни нелинейного уравнения y(x)=x3 ‑ 10x + 7=0 а) построив таблицу и б) построив график. Найти корень уравнения на выделенном отрезке, используя опции «Подбор параметра» и «Поиск решения».

Решение Создадим в Excel таблицу, содержащую аргументы и значения функции и по ней построим точечную диаграмму. На рисунке 1 приведен снимок решения.

На графике видно, что уравнение имеет три корня, принадлежащие отрезкам [-4, -3], [0, 1] и [2, 3]. Эти отрезки можно выявить и наблюдая за сменой знаков функции в таблице. По построенному графику можно сделать вывод, что на указанных отрезках функция f(x) монотонна и, следовательно, на каждом из них содержится только по одному корню.

Такой же анализ может быть выполнен и в пакете Mathcad. Для этого достаточно набрать определение функции f(x), используя оператор присваивания (:=) и естественные общепринятые обозначения математических операций и стандартных функций, задать цикл для изменения аргумента, например, а затем вывести на экран таблицу значений функции (располо­жен­ными в одной строке командами x= f(x)=) и график. Цикл можно задать, например, командой x:=-5,-4.5…5. Шаг цикла формируется путем задания начального и следующего за ним значений переменной, а перед конечным значением переменной ставится точка с запятой, которая будет визуально отображена на экране в виде многоточия.

Рисунок 1 – Таблица и график для отделения корней нелинейного уравнения

1.3 Уточнение корней стандартными средствами Excel и Mathcad

Во всех методах уточнения корней необходимо задать начальное прибли­же­ние, которое затем и будет уточняться. Если уравнение имеет несколько кор­ней, в зависимости от выбранного начального приближения будет найден один из них. При неудачно выбранном начальном приближении решение может и не быть найдено. Если в результате первого этапа расчетов уже выделен отрезок, содержа­щий единственный корень уравнения, в качестве начального приближения можно взять любую точку этого отрезка.

В Excel для уточнения значений корней можно использовать опции «Подбор параметра» и «Поиск решения». Пример оформления решения приведен на рисунках 2 и 3.

Рисунок 2 – Ввод значений для использования средств решения уравнения в Excel

Рисунок 3 – Результаты использования средств решения уравнения в Excel

В Mathcad для уточнения корней уравнения можно использовать функцию root(….) или блок решения. Пример использования функции root(…) приведен на рисунке 4, а блока решения на рисунке 5. Следует обратить внимание, что в блоке решения (после заголовка блока Given) между левой и правой частями уравнения должен стоять жирный знак равенства (тождества), который можно получить выбором из соответствующей палитры инструментов, либо нажатием одновременно клавиши Ctrl и =.

Рисунок 4 – Решение уравнения с использованием функции root(…) в Mathcad

Рисунок 5 – Решение уравнения с использованием блока решения в Mathcad

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

В то же время, очень просто построить собственную таблицу или написать программу, реализующие один из методов уточнения корней. Здесь можно использовать критерии точности расчета, задаваемые пользователем. При этом достигается и понимание процесса расчетов без опоры на принцип Митрофанушки: «Извозчик есть, довезет».

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

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

В этом методе на каждом шаге отрезок делится на две равные части. Затем сравнивают знаки функции на концах каждой из двух половинок (например, по знаку произведения значений функций на концах), определяют ту из них, в которой содержится решение (знаки функции на концах должны быть разные), и. сужают отрезок, перенося в найденную точку его границу (а или b). Условием окончания служит малость отрезка, где содержится корень («точность по x»), либо близость к 0 значения функции в средине отрезка («точность по y»). Решением уравнения считают середину отрезка, найденного на последнем шаге.

Пример. Построить таблицу для уточнения корня уравнения x3 –10x+7=0 на отрезке [-4, -3] методом деления отрезка пополам. Определить сколько шагов надо сделать методом деления отрезка пополам и какая при этом достигается точность по х, для достижения точности по y, равной 0,1; 0,01; 0, 001.

Решение Для решения можно использовать табличный процессор Excel, позволяющий автоматически продолжать строки. На первом шаге заносим в таблицу значения левого и правого концов выбранного начального отрезка и вычисляем значение середины отрезка с=(a+b)/2, а затем вводим формулу для вычисления функции в точке a (f(a)) и растягиваем (копируем) её для вычисления f(c) и f(b). В последнем столбца вычисляем выражение (ba)/2, характеризующего степень точности вычислений. Все набранные формулы можно скопировать во вторую строку таблицы.

На втором шаге нужно автоматизировать процесс поиска той половины отрезка, где содержится корень. Для этого испльзуется логическая функция ЕСЛИ (Меню: ВставкаФункцияЛогические). Для нового левого края отрезка мы проверяем истинность условия f(a)*f(c)>0, если оно верно, то мы в качестве нового значения левого конца отрезка берем число c (т. к. это условие показывает, что корня на отрезке [a, c] нет), иначе оставляем значение a. Аналогично, для нового правого края отрезка мы проверяем истинность условия f(c)*f(b)>0, если оно верно, то мы в качестве нового значения правого конца отрезка берем число c (т. к. это условие показывает, что корня на отрезке [c, b] нет), иначе оставляем значение b.

Вторую строку таблицы можно продолжить (скопировать) на необходимое число последующих строк.

Итерационный процесс завершается, когда очередное значение в последнем столбце становится меньшим, чем заданный показатель точности ex. При этом, значение середины отрезка в последнем приближении, принимается в качестве приближенного значения искомого корня нелинейного уравнения. На рисунке 6 приведен снимок решения. Для построения аналогичного процесса в Mathcad можно использовать бланк, подобный приведенному на рисунке 7. Число шагов N может варьиро­вать­ся до достижения в таблице результатов требуемой точности. При этом таблица будет автоматически удлиняться или укорачиваться.

Итак, одним из трех корней нелинейного уравнения x3 – 10x + 7=0, найденным с точностью e=0,0001, является x= — 3,46686. Как мы видим, он действительно принадлежит отрезку [-4; -3].

Рисунок 6 – Уточнение корня методом деления отрезка пополам в Excel

Рисунок 7 – Уточнение корня методом деления отрезка пополам в Mathcad

1.5 Метод хорд

В этом методе нелинейная функция f(x) на отделенном интервале [а, b] заменяется линейной – уравнением хорды, т. е. прямой соединяющей граничные точки графика на отрезке. Условие применимости метода – монотонность функции на начальном отрезке, обеспечивающая единственность корня на этом отрезке. Расчет по методу хорд аналогичен расчету методом деления отрезка пополам, но теперь на каждом шаге новая точка x внутри отрезка [a,b] рассчитывается по любой из следующих формул:

.

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

Идея, на которой основан метод, аналогична той, которая реализована в методе хорд, только на каждом шаге кривая f(x) заменяется касательной к ней, проведенной в предыдущей найденной точке. В качестве начальной точки в зависимости от свойств функции берется или левая граница отрезка, содержащего корень – x0 = а (если f(а) f»(х) > 0), или правая его граница: x0 = b (если f(b) f»(х)>0). Расчет нового приближения на следующем шаге i+1 производится по формуле:

.

Алгоритм применим для монотонных функций, сохраняющих выпуклость или вогнутость в промежутке между начальным приближением и корнем уравнения (т. е. должен сохраняться знак первой и второй производных функции f(x)). работоспособен при выпуклых и монотонных функциях f(x). В расчетах нет необходимости отслеживать две границы отрезка, поэтому достаточно на каждом шаге вычислять значения x, f(x) и f′(x). При этом легко оценить «точность по y», по значению левой части уравнения на очередном шаге. Для оценки «точности по x» нужно отслеживать разницу приближений на предыдущем и последующих шагах, которая связана с разницей между найденным приближением и точным значением корня.

Следует обратить внимание на следующую особенность метода: последовательность x1, x2, x3,… приближается к корню с другой стороны, в отличие от использования метода хорд при прочих равных условиях.

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

Уточнить корень уравнения tg (0,55x+0,1) – x2=0 на отрезке [0.6, 0.8] методом касательных до точности 0,001.

Точность вычислений можно оценить из соотношения

2 Решение систем нелинейных уравнений

2.1 Общие сведения о решении систем нелинейных уравнений

Систему n нелинейных уравнений с n неизвестными x1, x2, . xn записывают в виде:

где F1, F2,…, Fn – функции независимых переменных, среди которых есть нелинейные.

Как и в случае систем линейных уравнений, решением системы является такой вектор X*, который при подстановке обращает одновременно все уравнения системы в тождества.

Система уравнений может не иметь решений, иметь единственное решение, конечное или бесконечное количество решений. Вопрос о количестве решений должен решаться для каждой конкретной задачи отдельно.

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

Рассмотрим две группы таких методов: метод Ньютона с различными его модификациями и методы итераций (простых итераций и Зейделя).

2.2 Решение систем нелинейных уравнений методом Ньютона

Будем рассматривать этот метод на примере системы двух нелинейных уравнений с двумя неизвестными:

Начальные значения x0 и y0 определяются графически. Для нахождения каждого последующего приближения (xi+1, yi+1) используют вектор значений функций и матрицу значений их первых производных, рассчитанные в предыдущей точке (xi, yi).

,

Для расчета новых приближений на шаге i+1 используется матричная формула

.

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

Расчет останавливают при выполнении одного (а иногда и обоих) из двух условий. Первое из них заключается в том, что на очередном шаге максимальное по модулю из изменений аргументов x и y становится меньше заданная погрешность по аргументам. В соответствии со вторым из условий, на очередном шаге максимальное по модулю значение левых частей уравнений должно отличаться от нуля меньше, чем заданная погрешность по функциям.

В упрощенном методе Ньютона матрица производных и матрица, обратная к ней вычисляются только один раз (в начальной точке) и для расчетов используется матричная формула

.

Приведенные формулы особенно легко записать в Mathcad, где имеются операторы для вычисления производных и действий с матрицами. Однако при правильном использовании матричных операций эти формулы достаточно просто записываются и в Excel. Правда, здесь придется заранее получить формулы для вычисления производных. Для аналитического вычисления производных также может быть использован Mathcad.

2.3 Решение систем нелинейных уравнений методами итераций

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

.

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

.

Если одно из решений системы и начальные значения x0 и y0 лежат в области D, задаваемой неравенствами: axb, cyd, то расчет по методу простых итераций сходится при выполнении в области D соотношений:

источники:

http://zf.bsut.by/it/fbo/zda/t5.htm

http://pandia.ru/text/78/157/38912.php

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

Аналитическое решение некоторых уравнений, содержащих, например тригонометрические функции может быть получено лишь для единичных частных случаев. Так, например, нет способа решить аналитически даже такое простое уравнение, как 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,

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

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

Метод хорд.

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

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

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

        

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

, откуда

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

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

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

Решение в Excel

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

  1.  (х=1,261)
  2.  (х=?)
  1. sin(x/2)+1=x^2   (х=1,26)
  1. y=sin3x*cos5x  (х=?)
  2.     (х=0,756)
  1. x-cosx=0  (х=0,739)
  1. x^2+4sinx=0  (х=-1,933)
  1. x=(x+1)3  (х=-2,325)

Реализация в Excel

Численные методы решения нелинейных уравнений

Постановка задачи

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

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

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

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

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

В качестве примера рассмотрим уравнение x2 — 11x + 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) используем Вставка — Диаграмма (тип «Точечная», маркеры соединяются гладкими кривыми).

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

В качестве примера рассмотрим уравнение x2 — 11x + 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)<0.01;²корень²)».

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

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

В качестве примера рассмотрим уравнение x3 +2x2+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».

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

Метод хорд

В качестве примера рассмотрим уравнение x3 +2x2+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).

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

В качестве примера рассмотрим уравнение x2 — 11x + 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.

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

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

Одна из наиболее актуальных проблем компьютерного обучения – проблема отбора и использования педагогически целесообразных обучающих программ.

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

В данной статье я представила те задачи, решение которых с помощью MS EXCEL позволяет получить наглядное, доступное для понимания учащимися решение, показать его логику, рациональность. Попутно учащиеся получают устойчивые навыки работы с программой.

Нахождение корней уравнения с помощью подбора параметра

Пример 1.

Пусть известно, что в штате больницы состоит 6 санитарок, 8 медсестер, 10 врачей, 3 заведующих отделениями, главный врач, заведующий аптекой, заведующая хозяйством и заведующий больницей. Общий месячный фонд зарплаты составляет 1000 000 условных единиц. Необходимо определить, какими должны быть оклады сотрудников больницы.

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

Построим модель решения этой задачи. За основу возьмем оклад санитарки, а остальные оклады будем вычислять, исходя из него: во столько-то раз или на столько-то больше. Говоря математическим языком, каждый оклад является линейной функцией от оклада санитарки: Ai*С+Вi, где С – оклад санитарки; Аi и Вi – коэффициенты, которые для каждой должности определяют следующим образом:

  • медсестра получает в 1,5 раза больше санитарки (А2=1,5; В2=0);
  • врач – в 3 раза больше санитарки (А3=3; В3=0);
  • заведующий отделением – на 30 y.e. больше, чем врач (А4=3; B4=30);
  • заведующий аптекой – в 2 раза больше санитарки (А5=2; В5=0);
  • заведующий хозяйством – на 40 y.e. больше медсестры (А6=1,5; В6=40);
  • заведующий больницей – на 20 y.e. больше главного врача (А8=4; В8=20);
  • главный врач – в 4 раза больше санитарки (А7=4; В7=0);

Зная количество человек на каждой должности, нашу модель можно
записать как уравнение: N1*(A1*C+B1)+N2*(A2*C+B2)+…+N8*(A8*C+B8) = 1000000, где N1 – число санитарок, N2 – число медсестер и т.д.

В этом уравнении нам известны A1…A8, B1…B8 и N1…N8, а С неизвестно. Анализ уравнения показывает, что задача вычисления заработной платы свелась к решению линейного уравнения относительно С. Предположим, что зарплата у санитарки 150,00 y.e.

Введите исходные данные в рабочий лист электронной таблицы, как показано ниже.

A

B

C

D

E

F

Оклад мед. Работников

Должность

Коэф. A

Коэф. B

Зарплата

Количество сотрудников

Суммарная зарплата

Санитарка

1

0,00

150,00

6

Медсестра

1,5

0,00

8

Врач

3

0,00

10

Зав. отделением

3

30,00

3

Зав. аптекой

2

0,00

1

Завхоз

1,5

40,00

1

Главврач

4

0,00

1

Зав. больницей

4

20,00

1

Общий фонд равен

В столбце D вычислите заработную плату для каждой должности. Например, для ячейки D4 формула расчета имеет вид =B4*$D$3+C4.

В столбце F вычислите заработную плату всех работников данной должности. Например, для ячейки F3 формула расчета имеет вид =D3*E3.

В ячейке F11вычислите суммарный фонд заработной платы больницы. Рабочий лист электронной таблицы будет выглядеть, как показано ниже.

A

B

C

D

E

F

Оклад мед. Работников

Должность

Коэф. A

Коэф. B

Зарплата

Количество сотрудников

Суммарная  зарплата

Санитарка

1

0,00

150,00

6

900,00

Медсестра

1,5

0,00

225,00

8

1800,00

Врач

3

0,00

450,00

10

4500,00

Зав. отделением

3

30,00

480,00

3

1440,00

Зав. аптекой

2

0,00

300,00

1

300,00

Завхоз

1,5

40,00

265,00

1

265,00

Главврач

4

0,00

600,00

1

600,00

Зав. больницей

4

20,00

620,00

1

620,00

Общий фонд равен

10425,00

Чтобы определите оклад санитарки так, чтобы расчетный фонд был равен заданному надо:

  • Активизировать команду Подбор параметра во вкладке Данные / Работа с данными /Анализ «Что, если»;
  • В поле «Установить в ячейке» появившегося окна ввести ссылку на ячейку F11, содержащую формулу;
  • В поле «Значение» набрать искомый результат 1000000;
  • В поле «Изменяя значение ячейки» ввести ссылку на изменяемую ячейку D3 и щелкните на кнопке ОК.

Анализ задачи показывает, что с помощью Excel можно решать линейные уравнения. Конечно, такое уравнение может решить любой школьник. Однако, благодаря этому простому примеру стало, очевидным, что поиск значения параметра формулы, удовлетворяющего ее конкретному значению, – это не что иное, как численное решение уравнений. Другими словами, используя Excel, можно решать любые уравнения с одной переменной.

Приложение 1


Задание для учащихся:

Составить несколько вариантов штатного расписания с использованием функции Подбор параметра и оформить их в виде таблицы:

  • Изменить количество сотрудников на различных должностях;
  • Подобрать зарплату санитарки в новых условиях;
  • Составить таблицу нескольких вариантов штатного расписания.

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

Пусть дано уравнение, записанное в виде x=F(x). Выбирают некоторое начальное приближение x1 и подставляют его вместо x в F(x). Полученное значение x2=F(x1) этой функции считают вторым приближением. Далее находят третье приближение по формуле x3=F(x2) и так далее. Таким образом, получаем последовательность x1, x2, x3,…, xn,… чисел, имеющая предел α. Тогда если функция F(x) непрерывна, из равенства xn+1=F(xn) получаем α=F(α). Это означает, что α является решением уравнения x=F(x).

Пример 2.

Пусть нам дан многочлен третьей степени:

x3-0,01x2-0,7044x+0,139104=0.

Так как мы ищем корни полинома третьей степени, то имеются не более трех вещественных корней. Для нахождения корней их первоначально надо локализовать, то есть найти интервалы, на которых они существуют. Такими интервалами локализации корней могут служить промежутки, на концах которых функция имеет противоположный знак. С целью нахождения интервалов, на концах которых функция изменяет знак, необходимо построить ее график или протабулировать ее. Составим таблицу значений функции на интервале [-1;1] с шагом 0,2. Для этого необходимо:

  • Ввести  в ячейку A2 значение -1, а в ячейку A3 значение -0,8.
  • Выбрать диапазон A2:A3, расположить указатель мыши на маркере заполнения этого диапазона и протянуть его на диапазон A4:A12, аргумент протабулирован.
  • В ячейку B2 ввести формулу: =A2^3-0,01*A2^2-0,7044*A2+0,139104
  • Выбрать ячейку B2. Расположить указатель мыши на маркере заполнения этой ячейки и протянуть его на диапазон B3:B12. Функция также протабулирована.

Значение аргумента х

Значение функции у

-1,00

-0,1665

-0,8

0,1842

-0,60

0,3421

-0,4

0,3553

-0,20

0,2716

0

0,1391

0,20

0,0058

0,4

-0,0803

0,60

-0,0711

0,8

0,0812

1,00

0,4247

Из таблицы видно, что полином меняет знак на интервалах [-1; -0,8], [0,2; 0,4] и [0,6; 0,8], и поэтому на каждом из этих интервалов имеется свой корень. Так как полином третьей степени имеет не более трех корней, то они все локализованы.

Прежде чем приступить к нахождению корней при помощи подбора параметра, необходимо выполнить некоторую подготовительную работу:

  • Установить точность, с которой находится корень. Корень при помощи подбора параметра находится методом последовательных приближений. Для этого в Настройке панели быстрого доступа / Другие команды, и на вкладке Формулы диалогового окна Параметры Exel задайте в Параметрах вычислений относительную погрешность и предельное число итераций равными 0,00001 и 1000, соответственно.
  • Отвести на рабочем листе ячейку, например С2, под искомый корень. Эта ячейка будет играть двойную роль. До применения подбора параметра в ней находится начальное приближение к корню уравнения, а после применения – найденное приближенное значение корня.
  • Корень при помощи подбора параметра находим методом последовательных приближений. Поэтому в ячейку C2 надо ввести значение, являющееся приближением к искомому корню. В нашем случае, первым отрезком локализации корня является [-1;-0,8]. Следовательно, за начальное приближение к корню разумно взять среднюю точку этого отрезка -0,9.
  • Отвести ячейку, например D2, под функцию, для которой ведется поиск корня, причем вместо неизвестной у этой функции должна указываться ссылку на ячейку, отведенную под искомый корень. Таким образом, в ячейку D2 введите формулу: =C2^3-0,01*C2^2-0,7044*C2+0,139104

Аналогично надо поступить с двумя другими искомыми корнями:

  • Отвести ячейку C8 под второй корень, ввести в нее начальное приближение 0,3, а в ячейку D8 ввести следующую формулу: =C8^3-0,01*C8^2-0,7044*C8+0,139104
  • Отвести ячейку C10 под второй корень, ввести в нее начальное приближение 0,7, а в ячейку D10  ввести следующую формулу: =C10^3-0,01*C10^2-0,7044*C10+0,139104

Результаты выполненных действий приведены в таблице.

Значение х

Значение у

Начальное приближение до применения метода

Значение функции

-1,00

-0,1665

-0,9

0,0360

-0,8

0,1842

-0,60

0,3421

-0,4

0,3553

-0,20

0,2716

0

0,1391

0,20

0,0058

0,3

-0,0461

0,4

-0,0803

0,60

-0,0711

0,7

-0,0159

0,8

0,0812

1,00

0,4247

Теперь можно переходить к нахождению первого корня уравнения:

Выберете команду Подбор параметра. На экране отобразится диалоговое окно Подбор параметра.

  • В поле Установить в ячейкевведите ссылку на ячейку D2. В этом поле дается ссылка на ячейку, в которой введена формула, вычисляющая значение левой части уравнения. Для нахождения корня с помощью подбора параметра уравнение надо представить в таком виде, чтобы его правая часть не содержала переменную.
  • В поле Значение введите 0. Здесь указывается значение из правой части уравнения.
  • В поле Изменяя значение ячейки введите C2. В данном поле приводится ссылка на ячейку, отведенную под переменную.
  • Нажмите кнопку OK.

На экране отображается окно Результат подбора параметра с результатами работы команды Подбор параметра. Кроме того, рассматриваемое средство помещает найденное приближенное значение корня в ячейку C2. В данном случае оно равно -0,920. Аналогично в ячейках C8 и C10 находятся два оставшихся корня. Они равны 0,210 и 0,721.

Значение х

Значение у

Корень уравнения

Значение функции

-1,00

-0,1665

-0,920

0,00

-0,8

0,1842

-0,60

0,3421

-0,4

0,3553

-0,20

0,2716

0

0,1391

0,20

0,0058

0,210

0,00

0,4

-0,0803

0,60

-0,0711

0,721

0,00

0,8

0,0812

1,00

0,4247

Приложение 2


Задание для учащихся:

Найти все корни уравнений

1. Х3-2,92Х2+1,4355Х+0,791136=0

2. Х3-2,56Х2-1,3251Х+4,395006=0

3. Х3+2,84Х2-5,6064Х-14,766336=0

Нахождение корней уравнения методом деления отрезка пополам

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

Найдем корни уравнения x2–2=0 с точностью до 0,001 методом деления отрезка пополам. За первоначальный отрезок локализации корня выбран [0;2]. Для реализации этого метода введите в ячейки рабочего листа формулы либо значения, приведенные ниже в таблице:

Ячейка

Формула или значение

B1

0,001

A3

0

B3

2

C3

=(A3+B3)/2

D3

=(A3^2-2)*(C3^2-2)

E3

=C3^2-2

F3

=ЕСЛИ(B3–A3<$B$1;»Корень найден и равен » & текст (C3;»0,000»); » »)

A4

=ЕСЛИ (D3<=0; A3;C3)

B4

= ЕСЛИ(D3<=0; C3; B3)

C4

=(A4+B4)/2

D4

=(A4^2-2)*(C4^2-2)

E4

C4^2-2

F4

=ЕСЛИ(B4-A4<$B$1; »Корень найден и равен » & текст(C4; »0,000»); » »)

Теперь осталось только выбрать диапазон A4:F4, расположить указатель мыши на маркере его заполнения и пробуксировать его вниз до тех пор, пока в столбце F не появится сообщение о том, что корень найден. В данном случае сообщение появится в ячейке F14, а значение корня с точностью до 0,001 равно 1,415.

Число шагов можно определить заранее и скопировать формулы в диапазон из необходимого числа строк. Число шагов до нахождения корня определяется по формуле: [log2((b-a)/(2*t))]+1 (1), где [x] есть целая часть числа х, t – заданная точность.

Вычислить корень уравнения cosx = x на отрезке [0;2] с точностью до 0,001. Число шагов для определения корня вычислить при помощи формулы (1).

Использование MS EXEL значительно расширяет круг задач, которые можно использовать в обучении. Это обусловлено возможностью передачи трудоемких операций компьютеру, например, при решении уравнений методами итераций и деления отрезка пополам.

Страницы работы

Содержание работы

Министерство
образования и науки Российской Федерации

Санкт-Петербургский Государственный
архитектурно-строительный университет

кафедра прикладной математики и информатики

КУРСОВАЯ РАБОТА

по информатике и ИКТ

 по теме

«Решение уравнения x3-2,56x2-1,3251x+4,395006=0 с помощью методов дихотомии, хорд, Ньютона
в
MSExcel
и в
VisualBasic»

Работу
выполнила студентка

1
курса группы 1-РРАН-I

строительного
института

специальности
«Реставрация и

реконструкция
архитектурного

наследия»
Богданова М. А.

Работу
проверила ассистент

Григорьева
Ксения Владимировна

Санкт-Петербург

2005

Содержание

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

Метод хорд. 3

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

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

Решение уравнения методом деления отрезка пополам в MS Excel. 5

Решение уравнения методом хорд в MS Excel. 7

Решение уравнения методом Ньютона  в MS Excel. 8

User Form по решению уравнения x3+2,56*x2-1,3251*x+4,395006=0 указанными методами.. 9

литература………………………………………………………..11

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

Пустьf(x)
непрерывна на концах отрезка [a;b] имеет разные знаки, т.е. f(a)*f(b)<0,
тогда f(x)=0 на данном отрезке будет иметь единственные корень.
Отрезок [а;b] называется отрезком локализации этого корня.

Пусть
с=(a+b)/2, середина отрезка [а;b]. Если f(a)*f(b)<=0,
то корень на отрезке от [а;с], иначе корень на отрезке от [а;b]

Новый
отрезок локализации в 2 раза меньше первоначального. Процесс деления отрезка
для локализации корня продолжаем до тех пор пока его длина не станет < Е, где Е- точность
нахождения корня. В этом случае любая точка отрезка локализации отлична от коня
не более чем на Е/2.

Метод
хорд.

 Пустьf(x)
непрерывна на концах отрезка [a;b] имеет разные знаки. Также для функции выполняются
следующие условия:

непрерывна
и дифференцируема на [a;b]

f(x), f’(x), f’’(x) на
концах [a;b]

f’(x), f’’(x) на
(a;b) сохраняет знак

Процесс
вычисления корня уравнения f(x)=0 на отрезке[a;b]
состоит из следующих этапов:

Пусть f(a)<0,  f(b)>0

Точка
A(a;f(a)) и B(b;f(b)) соединим хордой. За исходное приближенное значение
исходного корня примем абсциссу х1 – точка пересечения АВ с осью x

По
формуле

х1 = а-(b-a)*f(a)/f(b)-f(a),
где х1є(a;b)

Пусть
f(х1)<0, следовательно более узкий отрезок изоляции
примем отрезок от [х1;b]

Получим
в точке пересечения хорды а1и с Ох второе приближенное значение х2, которое
вычислим по формуле

 х2 = х1-(b- х1)*f(х1)/f(b)-f(х1)

Последовательность
чисел а, х1, х2… стремится к искомому корню уравнения. Процесс
вычисления корней уравнения продолжается до тех пор, пока его длина не станет
<=
Е,
т.е. точности нахождения корня.

Приближенное
решение уравнений методом касательных.

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

Пустьf(x)
непрерывна на концах отрезка [a;b] имеет разные знаки.

Предположим,
что все условия для отрезка от [a;b], рассматриваемые в предыдущих методах, справедливы и
в данном случае.

Для
определенности проведем касательную к точке В1 (b;f(x)).
Эта касательная пересекает ось х в точке  х1.

Проведем
касательную через точку В21;f(х1))

Проведем
касательную через точку В32;f(х2))

Этот
процесс будет продолжаться пока (xi-1-xi)<= Е

Применяем
уравнение касательной х10-f(x0)/f’(x0)

х2=x1-f(х1)/f’(х1)

Xi+1=xi-f(xi)/f’(xi)

Решение
уравнения методом деления отрезка пополам
MS Excel

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

Проделаем эти два способа:

x

y

0,5

3,21746

-2

-11,195

0,6

2,89435

-1,9

-9,1879

0,7

2,55604

-1,8

-7,3462

0,8

2,20853

-1,7

-5,6637

0,9

1,85782

-1,6

-4,1344

1

1,50991

-1,5

-2,7523

1,1

1,1708

-1,4

-1,5115

1,2

0,84649

-1,3

-0,4058

1,3

0,54298

-1,2

0,57073

1,4

0,26627

-1,1

1,42402

1,5

0,02236

-1

2,16011

1,6

-0,1828

-0,9

2,785

1,7

-0,3431

-0,8

3,30469

1,8

-0,4526

-0,7

3,72518

1,9

-0,5053

-0,6

4,05247

2

-0,4952

-0,5

4,29256

2,1

-0,4163

-0,4

4,45145

2,2

-0,2626

-0,3

4,53514

2,3

-0,0281

-0,2

4,54963

2,4

0,29317

-0,1

4,50092

2,5

0,70726

0

4,39501

2,6

1,22015

0,1

4,2379

2,7

1,83784

0,2

4,03559

2,8

2,56633

0,3

3,79408

2,9

3,41162

0,4

3,51937

3

4,37971

Похожие материалы

  • Visual Basic for Application. Свойства, методы и события объектов VBA. Переменная
  • Базовые сведения по работе в табличном процессоре MicroSoft Excel
  • Установление первоначальных настроек текстового процессора Word

Информация о работе

Like this post? Please share to your friends:
  • Метод деления отрезка пополам в excel пример
  • Метод графической экстраполяции в excel
  • Метод границ в excel
  • Метод градиентного спуска excel
  • Метод главных компонентов excel