Информатика. Практикум
.pdf
–вычисляем значения функции на границах отрезка f(a2), f(b2) (E5, F5);
–вычисляем приближение корня x2 на отрезке [a2; b2] по форму-
ле x2 |
b2 |
f (a2 ) a2 |
f (b2 ) |
(H5); |
|
f (a2 ) f (b2 ) |
|||
|
|
|
||
–вычисляем значения функции в точке x2 – f(x2) (G5);
–вычисляем значение погрешности по формуле x2 x1 (I5)
(рис. 4.30).
Рис. 4.30
Шаг 3. Итерации вычислений продолжаем до тех пор, пока не будет получено значение точности, меньшее заданного. Для этого выделяем диапазон B5 : I5. Растягиваем его вниз до тех пор, пока значение точности (столбец I) не станет меньше заданного (0,01) (рис. 4.31).
Рис. 4.31
Таким образом, из рисунка видно, что для поиска корня уравнения с заданной точностью достаточно восьми итераций и значение корня на заданном отрезке составляет 2,362 (значение x8).
Иллюстрация решения приведена на рис. 4.32. Как видно из рисунка, проведенная хорда для каждой итерации стремится к искомому корню уравнения.
191
20 |
Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
x2=1,931 |
x4=2,260 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x6=2,343 |
|
|
X |
0 |
|
|
|
|
|
|
|
|
1 |
1,5 |
2 |
2,5 |
3 |
3,5 |
4 |
-10 |
|
x1=0,558 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x3=2,147 |
|
|
|
|
|
-20 |
|
|
|
x5=2,316 |
|
|
|
-30 |
|
Функция f(x) |
|
Хорда 1-й итерации |
|
|
|
|
|
Хорда 2-й итерации |
|
Хорда 3-й итерации |
|
|
|
-40 |
|
Хорда 4-й итерации |
|
Хорда 5-й итерации |
|
|
|
|
|
|
|
|
|
||
|
|
Хорда 6-й итерации |
|
|
|
|
|
-50 |
|
|
|
|
|
|
|
|
|
|
|
Рис. 4.32 |
|
|
|
|
|
4.2.3. Задача решения нелинейного уравнения |
|
||||
|
|
методом касательных |
|
|
|
||
Задача 4.4. Разработать алгоритм решения нелинейного уравне-
ния ex
2 x3 10 0 на отрезке [1, 4] методом касательных с точностью 0,01. Положение корня в плоскости XY проиллюстрировать графически.
Алгоритм решения
Предварительное табулирование. Найдем значения функции f (x) ex
2 x3 10 на отрезке [1, 4], используя шаг изменения
переменной х, равный 0,2 (см. рис. 4.16). Построим график функции (см. рис. 4.17). Найдем первую и вторую производные функции f(x) по формулам
f |
(x) |
1 |
e |
x 2 |
3x |
2 |
, |
(4.4) |
|||
2 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||
f |
(x) |
|
1 |
e |
x 2 |
6x . |
(4.5) |
||||
4 |
|
||||||||||
|
|
|
|
|
|
|
|
|
|||
192
В дальнейшем при вычислении производных будем использовать полученные формулы.
Алгоритм нахождения корня уравнения
Шаг 1. Первая итерация (результаты представлены на рис. 4.35):
–вводим номер итерации (i = 1) (B4);
–вводим значения границ отрезка (a1 = 1 и b1 = 4) (C4, D4);
–вычисляем значения функции на границах отрезка f(a1), f(b1)
(E4, F4);
–вычисляем значение второй производной в точке a1: f (a1) по
формуле (4.5) (G4) (рис. 4.33);
Рис. 4.33
– вычисляем приближение корня x1 на отрезке [a1; b1]; для этого необходимо оценить выражение f (a)
f (a1) : если f (a)
f (a1)
,
то касательная проводится к точке а и приближение x1 вычисляется по
формуле |
x |
a |
f (a) |
; если f (a) f |
(a ) |
, то касательная прово- |
||
|
|
|||||||
|
|
1 |
|
f |
(a) |
|
1 |
|
|
|
|
|
|
|
|
||
дится к |
точке |
b |
и |
приближение |
x1 |
вычисляется по формуле |
||
x b |
|
f (b) |
; |
|
|
|
|
|
|
|
|
|
|
|
|
||
1 |
|
f (b) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f (b) , f (a) – это значения производной в точке b и a (G4), ко-
торые определяются по формуле (4.4) с использованием функции ЕCЛИ(), а именно: для ячейки H4 вводится формула
=ЕСЛИ(E4*G4>0;C4-E4/(EXP(C4/2)/2 – 3*C4*C4);D4-F4/(EXP(D4/2)/2 –
– 3*D4*D4)) или с помощью диалогового окна (рис. 4.34);
193
Рис. 4.34
– вычисляем значение функции в точке x1: f (x1) (I4). (рис. 4.35).
Рис. 4.35
Шаг 2. Вторая итерация (результаты представлены на рис. 4.40):
– вводим номер итерации (i = 2) (B5);
– определяем левую границу нового отрезка a2 (C5):
если f(a1) f(x1) < 0, то a2 = a1, иначе а2 = x1 – для этого для ячейки C5 в строке формул вводится формула с использованием функции ЕCЛИ(), а именно, =ЕСЛИ(E4*I4<0;C4;H4), или с помощью диалогового окна (рис. 4.36);
– определяем правую границу нового отрезка b2 (D6): если f(a1) f(х1) < 0, то b2 = x1, иначе b2 = b1 – аналогично предыдущему пункту в строке формул вводится формула с использованием функции ЕCЛИ(), а именно, =ЕСЛИ(E4*I4<0;H4;D4), или с помощью диалогового окна (рис. 4.37); в результате получим значения, представленные на рис. 4.38;
194
Рис. 4.36
Рис. 4.37
Рис. 4.38
195
– вычисляем значения функции на границах отрезка f(a2), f(b2) (E5, F5); значение второй производной в точке a2: f (a2 ) (G5),
приближение корня x2 на отрезке [a2; b2] (H5); значение функции в точке х2: f(x2) (I5) – для этого выделяем диапазон E4 : I4 и растягиваем маркер заполнения вниз на одну строку (рис. 4.39);
Рис. 4.39
– вычисляем значение точности по формуле x2 x1 (J5) (рис. 4.40).
Рис. 4.40
Шаг 3. Итерации вычислений продолжаем до тех пор, пока не будет достигнута заданная точность. Для этого выделяем диапазон B5 : J5 и растягиваем его вниз до тех пор, пока значение точности (столбец J) не станет меньше заданной (0,01) (рис. 4.41).
Рис. 4.41
196
Таким образом, как видно из рис. 4.41, для поиска корня доста- |
|||||||
точно четырех итераций и значение x = 2,367. |
|
|
|||||
|
Графическая иллюстрация решения представлена на рис. 4.42. |
||||||
15 |
|
Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
x2=2,477 |
x1=2,948 |
|
X |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
-5 |
1 |
1,5 |
2 |
2,5 |
3 |
3,5 |
4 |
|
|
|
|
x3=2,367 |
|
|
|
-15 |
|
|
|
|
|
|
|
-25 |
|
|
|
|
|
|
|
-35 |
|
|
|
|
|
|
|
|
|
|
Функция f(x) |
|
|
|
|
-45 |
|
|
Касательная 1-й итерации |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Касательная 2-й итерации |
|
|
|
|
-55 |
|
|
Касательная 3-й итерации |
|
|
|
|
|
|
|
|
Рис. 4.42 |
|
|
|
Как видно из рисунка, проведение касательной на каждой итера- |
|||||||
ции сужает рассматриваемый отрезок и каждое новое приближение |
|||||||
корня приближается к искомому значению. |
|
|
|||||
4.2.4. Задача решения нелинейного уравнения методом простых итераций
Задача 4.5. Разработать алгоритм решения нелинейного уравне-
ния ex
2 x3 10 0 на отрезке [1, 4] методом простых итераций с погрешностью 0,01.
|
|
|
Алгоритм решения |
|
|
|
|
|
Представим |
исходное |
уравнение |
в следующем |
виде: |
||||
x 3 ex 2 |
10 . Поскольку выполняются следующие два условия: |
|||||||
1) функция |
x) |
3 ex 2 |
10 для всех x |
[1, 4] |
удовлетворяет усло- |
|||
вию 3 e1 2 |
10 |
x) |
e4 2 |
10 , следовательно, |
2,26 |
x) |
,6 ; |
|
197
ex
2
2) производная x) ,
6 3 (10 ex
2 )2
то можно использовать метод простых итераций, по которому следующее приближения корня xi+1 вычисляется по формуле xi 1
i ) .
Шаг 1. Первая итерация:
–введем номер итерации (i = 1) (B3);
–введем начальное приближение к корню уравнения (x1 = 1) (C3) (рис. 4.43).
Рис. 4.43
Шаг 2. Вторая итерация:
– введем номер итерации (i = 2) (B4);
– вычислим следующее приближение к корню уравнения
( x |
2 |
x ) 3 |
ex1 2 10 ) (C4) (рис. 4.44); |
||
|
1 |
|
|
|
|
|
– вычислим |
точность приближения по формуле |
x2 x1 |
(D4) |
|
(рис. 4.45). |
|
|
|
||
Рис. 4.44 |
Рис. 4.45 |
Шаг 3. Повторяем действия шага 2, пока не будет достигнута заданная точность. Для этого необходимо выделить диапазон ячеек B4 : D4 (рис. 4.46) и растянуть маркер заполнения вниз (рис. 4.47).
198
Рис. 4.46 |
Рис. 4.47 |
Таким образом, как видно из рис. 4.47, для поиска корня достаточно четырех итераций и значение корня x = 2,366.
4.2.5. Задача решения нелинейного уравнения
спомощью надстройки «Поиск решения»
Вэтом разделе будут использованы возможности надстройки MS EXCEL Поиск решения. Они доступны с помощью команды
Сервис - Поиск решения… Если этой команды в меню нет, ее необходимо установить. Для этого необходимо проделать следующее:
1. Выбрать пункт меню Сервис Надстройки…
2.Установить в окне «Доступные надстройки» флажок для надстройки Поиск решения.
3.Далее возможны три ситуации:
–надстройка установлена в MS EXCEL, но не включена; в этом случае после нажатия кнопки ОК надстройка будет включена в
MS EXCEL;
–надстройка не установлена в MS EXCEL, но находится в стандартных установочных каталогах Microsoft Office; в этом случае после нажатия кнопки ОК надстройка будет установлена и включена в состав MS EXCEL;
–надстройка не установлена в MS EXCEL, и ее нет в стандартных установочных каталогах Microsoft Office; в этом случае после нажатия кнопки ОК необходимо указать путь к установочному каталогу MS EXCEL на диске или другом носителе.
Можно также установить надстройку с помощью обращения к пункту Установка и удаление программ на панели управления
Windows, для этого необходимо выбрать действие Изменить для
199
программы MS EXCEL или Microsoft Office и затем, следуя инструкциям в окне пошаговой установки, установить надстройку По-
иск решения, указав для нее опцию запускать с моего компьютера всегда.
Алгоритм работы с надстройкой Поиск решения
В диалоговом окне Поиск решения есть три основных параметра:
1.«Установить целевую ячейку»;
2.«Изменяя ячейки»;
3.«Ограничения».
Сначала нужно заполнить поле Установить целевую ячейку. Целевая ячейка связана с другими ячейками этого рабочего листа с помощью формул, в ней происходит оптимизация результата. Можно выбрать поиск наименьшего или наибольшего значения для целевой ячейки или же установить конкретное значение.
Второй важный параметр — это параметр Изменяя ячейки. Изменяемые ячейки — это те ячейки, значения в которых будут изменяться для того, чтобы оптимизировать результат в целевой ячейке. Для поиска решения можно указать до 200 изменяемых ячеек. К изменяемым ячейкам предъявляются два основных требования. Они не должны содержать формул, и изменение их значений должно отражаться на изменении результата в целевой ячейке. Другими словами, целевая ячейка зависима от изменяемых ячеек.
Третий параметр, который нужно вводить для функции Поиск решения, – это ограничения. В качестве ограничений можно указать, например, диапазон изменения данных в изменяемых ячейках.
Задача 4.6. Разработать алгоритм решения нелинейного уравнения f (x) ex
2 x3 10 0 на отрезке [–10, 4] с помощью надстройки MS EXCEL Поиск решения.
Алгоритм решения
Предварительное табулирование. Построим табулированную функцию f (x) ex
2 x3 10, используя шаг изменения переменной х, равный 1 (рис. 4.48).
200
