
- •«Решение нелинейных уравнений средствами Microsoft Excel»
- •Ó Ростовский государственный строительный университет, 2011 Введение
- •1. Отделение корней
- •Лабораторная работа № 1 на тему: «Отделение корней нелинейного уравнения аналитически и графически»
- •Образец выполнения лабораторной работы №1
- •Варианты заданий для лабораторной работы №1
- •2. Уточнение корней нелинейного уравнения при помощи некоторых численных методов
- •2.1. Уточнение корней методом половинного деления (дихотомии)
- •2.2. Уточнение корней методом хорд
- •2.3. Уточнение корней методом касательных (метод Ньютона)
- •2.4. Уточнение корней методом простой итерации
- •2.5. Сравнение эффективности методов
- •Лабораторная работа № 2 на тему: «Уточнение корней нелинейного уравнения при помощи некоторых численных методов»
- •Образец выполнения лабораторной работы №2
- •3. Нахождение корней нелинейного уравнения средствами ms Excel
- •3.1. Нахождение корней с помощью циклических ссылок
- •3.2. Нахождение корней с помощью подбора параметра
- •3.3. Нахождение корней с помощью поиска решения
- •Лабораторная работа № 3 на тему «Решение нелинейных уравнений средствами программы ms Excel»
- •Образец выполнения лабораторной работы №3
- •Численные методы решения нелинейных уравнений средствами vba
- •4.1. Начальные сведения: vba-проект, редактор vba, модуль
- •Общие процедуры
- •Процедуры обработки событий
- •4.2.2. Процедуры-функции (Function) Встроенные функции
- •Функции преобразования типов
- •Математические функции
- •Системные функции
- •Определяемые функции
- •4.2.3. Создание процедур и (или) определяемых функций
- •4.3. Объявление переменных
- •Базовые типы переменных Visual Basic
- •Лабораторная работа № 4 на тему «Программирование некоторых численных методов решения нелинейных уравнений на vba»
- •Образец выполнения лабораторной работы №4
- •Варианты заданий для лабораторных работ №2, №3, №4
- •Ответы к лабораторной работе №1
- •Ответы к лабораторным работам №2, №3, №4
- •Использованная литература
Лабораторная работа № 1 на тему: «Отделение корней нелинейного уравнения аналитически и графически»
Цель работы:
Изучить процедуру отделения корней.
Постановка задачи:
Для нелинейного уравнения
отделить корни аналитически;
отделить корни графически.
протабулировав исходное уравнение и его производную в табличном процессоре MS Excel, убедиться в наличии или отсутствии корней внутри найденного вами отрезка.
Содержание отчета:
Постановка задачи для конкретного варианта и исходные данные.
Теоретическое описание аналитического отделения корней и нахождение промежутков, содержащих искомые корни.
График данной функции. Вывод – промежутки, содержащие корни.
Табулирование заданной функции и её производной в табличном процессоре MS Excel. Вывод – о наличии или отсутствии корней внутри найденного вами промежутка. Сравнение с результатами, найденными в п.2, 3.
Варианты заданий приведены в табл.1 (см.с.10).
Образец выполнения лабораторной работы №1
1. Постановка задачи для конкретного варианта и исходные данные
Для нелинейного уравнения 3x-2x-4=0
отделить корни аналитически;
отделить корни графически;
протабулировать заданную функцию и её производную в табличном процессоре MS Excel.
2. Теоретическое описание аналитического отделения корней
Обозначим
f(x)=3x-2x-4.
Данная функция определена, непрерывна
и дифференцируема на всей числовой оси,
т.е. для x(-,).
Разобьём всю область допустимых значений
на промежутки, в каждом из которых
содержится только один корень или не
содержится ни одного. Поскольку все
точки экстремума (точки максимума или
минимума) функции находятся в множестве
ее критических точек, то находим
производную f’(x)=
3x
ln3-2.
Вычислим корень производной: 3xln3-2=0;
3x=
;
lg3x=lg
;
xlg3=lg2-lg(ln3);
x=
.
Заметим, что данная функция убывает на (-,1) (f’(x)<0 для x(-,1)) и возрастает на (1, +) (f’(x)>0 для x(1, +)).
Составим таблицу знаков функции f(x) (Sgn f(x)), полагая x равным:
критическим значениям функции (корням производной) или близким к ним;
граничным значениям (исходя из области допустимых значений неизвестного):
-
x
-
1
+
Sgn f(x)
+
-
+
f(-100)=3-100-2(-100)-4>0; f(1)=31-21-4<0; f(100)= 3100-2100-4>0.
Так как происходит две перемены знака функции, то уравнение имеет два действительных корня. Чтобы завершить операцию отделения корней, следует уменьшить промежутки, содержащие корни, так чтобы их длина была не больше 1. Для этого составим новую таблицу знаков функции f(x):
-
x
-2
-1
0
1
2
Sgn f(x)
+
-
-
-
+
f(-2)= 3-2-2(-2)-4=0,111111>0; f(-1)=3-1-2(-1)-4=-1,66667<0; f(0)=30-20-4=-3<0; f(2)= 32-22-4=1>0.
Таким образом, аналитическое отделение корней показывает, что корни заключены в следующих промежутках: x1[-2,-1], x2[1,2].
График данной функции.
Для построения графика функции f(x)=3x-2x-4 можно использовать либо табличный процессор MS Excel, либо любой другой способ. График заданной функции будет выглядеть следующим образом:
Можно было переписать уравнение 3x-2x-4=0 в эквивалентном виде 3x=2x+4 и построить графики функций y=3x , y=2x+4:
В любом случае, корни уравнения y=f(x) это абсциссы точек пересечения графика y=f(x) с осью Ох, либо абсциссы, в которых графики функций y1 и y2 пересекаются.
Из графиков видно, что уравнение имеет два корня: x1[-2,-1], x2[1,2].
Табулирование заданной функции и её производной в табличном процессоре MS Excel. Вывод - наличие или отсутствие корней внутри найденного вами промежутка.
Найдем значения функции f(x)=3x-2x-4 и её производной f’(x)= 3x ln3-2 при различных значениях аргумента, меняющегося с фиксированным шагом. Шаг выбирают небольшим, так чтобы таблица значений функции отражала её поведение на интервале табуляции. В нашем случае возьмем в качестве шага изменения аргумента, например, 0,5. Из п.2 и 3 настоящей лабораторной работы (см. выше) нам известно, что корни уравнения 3x-2x-4=0 находятся в промежутках [-2,-1] и [1,2]. Поэтому протабулируем x от -2,5 до 2,5 с шагом 0,5. Отметим, что эта последовательность значений представляет собой арифметическую прогрессию. Предположим, что заголовки таблицы x, f(x) и f’(x) записаны в ячейках A1, B1 и С1 соответственно. Ввести в ячейки диапазона ряд последовательных значений, образующих арифметическую прогрессию, можно двумя способами.
Первый способ: В ячейки А2 и А3 введите первый и второй члены арифметической прогрессии. В данном случае это -2,5 и -2 соответственно.
Выделите диапазон ячеек А2:А3.
Расположите указатель мыши на маркере заполнения выделенного диапазона и протяните его вниз (в данном случае на диапазон А4:А12) до тех пор, пока не получится числовой ряд нужной длины.
Второй способ: В ячейку А2 введите первый член арифметической прогрессии.
Выберите команду меню Правка/Заполнить/Прогрессия.
В появившемся диалоговом окне Прогрессия в группе Расположение выбираем переключатель по столбцам, а в группе Тип – переключатель арифметическая. В поле Шаг введите значение 0,5, а в поле Предельное значение – 2,5.
Нажмите кнопку ОК.
Диалоговое окно Прогрессия закроется, а на рабочем листе автоматически будет построена требуемая прогрессия.
Далее, в ячейку В2 введите формулу исходной функции: =3^A2-2*A2-4, а в ячейку С2 формулу её производной: =3^A2*LN(3)-2. Выделив диапазон ячеек В2:С2, расположите указатель мыши на маркере заполнения выделенного диапазона и протяните его вниз на диапазон В3:С12. Процесс создания таблицы значений функции завершен (рис.5).
Рис. 5. Результат табуляции функции f(x)=3x-2x-4 и её производной
Проанализируем полученный результат табуляции функции f(x)=3x-2x-4.
Из рис.5 видно, что значения функции f(-2) = 0,11111>0, f(-1)=-1,666<0 и f’(x)<0 для всех x из [-2,-1]. Согласно следствию 2 (см. с. 6), делаем вывод, что на [-2,-1] существует единственный корень.
Аналогично рассуждая применительно к отрезку [1,2], получим, что на этом отрезке существует ещё один корень данного уравнения.
Полученные значения совпадают с результатами, найденными в пунктах 2, 3.
Таблица 1