Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ_2012 / ЧМ_Maxima_Excel / ЧМ_Excel_Maxima.pdf
Скачиваний:
198
Добавлен:
09.06.2015
Размер:
1.41 Mб
Скачать

Реализация в 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