Лаб.практикум по инф-ке_МУ. С. Л. Миньков лабораторный практикум по информатике
Скачать 4.64 Mb.
|
Раздел 2. Численное решение уравнений Цель раздела:освоить приемы решения нелинейных урав- нений, систем линейных и нелинейных уравнений в среде Excel, познакомиться с возможностями сервисных программ Подбор параметра и Поиск решения. С помощью Excel можно решать разнообразные математи- ческие задачи, возникающие при реализации методов экономико- математического моделирования (и не только). Например, балан- совая модель производства и потребления совокупного обще- ственного продукта представляет собой замкнутую систему ли- нейных алгебраических уравнений, финансовое моделирование сводится к решению нелинейных уравнений, реализация методов экстраполяции на основе кривых роста приводит к решению си- стем линейных и нелинейных уравнений и т. п. [5]. 2.1 Решение полиномов Для полиномов 1 1 1 0 ( ) n n n n n P x a x a x a x a модули всех действительных корней , 1 k x k n расположены в диапа- зонах k A x B , (2.1) где 1 1 0 1 ; max{ , , , } 1 n n A a a a a 1 2 0 max{ , , , } 1 n n n a a a B a Следовательно, все действительные положительные корни лежат в интервале [ , ], A B а все действительные отрицательные корни — в интервале [ , ]. B A Задание 2.1. Корни полинома Найти корни полинома с заданной точностью Предлагается следующий алгоритм. 42 1. В диалоговом окне Параметры Excel задать относитель- ную погрешность вычислений корней = 0,00001: Файл | Пара- метры | Формулы | Относительная погрешность. 2. Определить A и B по формуле (2.1), разместив предва- рительно на листе Excel таблицу коэффициентов выбранного по- линома (табл. 2.1). 3. Составить таблицу { , ( )}, x P x табулируя полином в най- денных интервалах, например с шагом 10 h B A (см. п. 1.7.2 лабораторной работы 1). Таблица 2.1 Вариант Уравнение Вариант Уравнение 1 0 28 2 11 6 2 3 4 x x x x 11 0 5 8 3 2 3 4 x x x 2 0 1 5 9 5 2 3 4 x x x x 12 0 28 2 11 6 2 3 4 x x x x 3 0 2 3 3 2 3 4 x x x 13 0 1 5 9 5 2 3 4 x x x x 4 0 6 8 11 2 3 4 x x x x 14 0 2 3 3 2 3 4 x x x 5 0 5 16 10 3 4 x x x 15 0 6 8 7 2 3 4 x x x x 6 0 3 4 3 2 3 4 x x x x 16 0 5 16 10 2 4 x x x 7 0 1 4 4 4 2 3 4 x x x x 17 0 3 4 3 2 3 4 x x x x 8 0 1 10 13 6 2 3 4 x x x x 18 0 1 4 4 4 2 3 4 x x x x 9 0 8 16 4 2 3 4 x x x x 19 0 2 2 3 2 2 3 4 x x x x 10 0 3 11 4 2 3 4 x x x x 20 0 1 10 13 6 2 3 4 x x x x 4. Определить две соседние ячейки столбца x , где функция меняет свой знак, и выделить их цветом. Одно из значений, для которого значение функции ближе к нулю, принять за начальное приближение к корню полинома. 5.Уточнить значение корня с помощью сервисной команды Подбор параметра (Данные | Анализ «что если» | Подбор па- раметра) (рис. 2.1). В поле Установить в ячейке ввести адрес ячейки, где вычисляется значение полинома, соответствующее выбранному начальному приближению. В поле Значение ввести 0 (т. е. искомое значение полинома). В поле Изменяя значение ячейки ввести адрес ячейки, где находится начальное приближе- ние к корню полинома. 43 Рис. 2.1 — Диалоговое окно Подбор параметра Примечание. В этой ячейке (D3 на рис. 2.1) должно содер- жаться числовое значение, а не формула, его вычисляющая. Для того чтобы заменить в ячейке формулу на ее числовое значение, необходимо, находясь в этой ячейке, вызвать контекстно- зависимое меню и выбрать Копировать. Затем, находясь в той же ячейке, снова вызвать контекстно-зависимое меню и выбрать Специальная вставка (рис. 2.2). В появившемся диалоговом окне отметить Вставить значе- ния. После этого ячейка готова к использованию в поле Изменяя значение ячейки диалогового окна Подбор параметра. Рис. 2.2 — Специальная вставка 44 6. После подбора параметра (нажать ОК) получит значение корня с заданной ранее степенью точности. Процесс повторяется для всех найденных начальных приближений в диапазонах, опре- деляемых формулой (2.1). 2.2 Решение нелинейных уравнений 2.2.1 Решение нелинейного уравнения методом итерации Пусть дано уравнение ( ) 0. f x Для нахождения его корней методом итераций уравнение представляют в виде ( ) x F x (оче- видно, что это можно сделать не единственным способом) и за- писывают итерационную схему 1 ( ) k k x F x , (2.2) с помощью которой строится итерационный процесс уточнения корней, начиная с начального значения 0 , x выбираемого само- стоятельно. Достаточное условие сходимости процесса: в окрест- ности корня ( ) 1. F x Если процесс расходится (получающиеся приближения уда- ляются друг от друга) или сходится очень медленно, то необхо- димо сменить вид представления ( ). x F x В этом может оказать помощь другой итерационный метод решения нелинейных урав- нений — метод Ньютона. Его итерационная схема имеет вид 1 ( ) ( ) k k k k f x x x f x (2.3) Сравнивая формулы (2.2) и (2.3), замечаем, что в качестве функции F(x k ) можно взять правую часть из формулы (2.3). В большинстве случаев метод Ньютона сходится быстрее. Задание 2.2. Метод итерации Решить нелинейное уравнение методом итераций. Порядок действий в Excel может быть следующий. 1. Представить данное уравнение в виде ( ) x F x , взяв его из табл. 2.2. Задать точность решения = 0,0001. 45 Таблица 2.2 1 0 ) 1 ( ) ln( 3 x x 11 25 , 0 ) sin( x x 2 1 2 x x 12 2 ) 1 , 0 58 , 0 ( tg x x 3 x x / 1 1 13 0 ) 387 , 0 cos( x x 4 0 ) cos( x x 14 0 1 ) cos( 3 x x 5 0 1 ) cos( 3 x x 15 0 ) 6 2 /( 7 ) lg( x x 6 5 , 0 ) ln( x x 16 5 , 0 ) lg( x x 7 ) ln( 2 x x 17 0 ) sin( 4 3 x x 8 2 / ) exp( ) 1 ( 2 x x 18 0 ) 05 , 1 ( ctg 2 x x 9 5 , 0 ) exp( ) 2 ( x x 19 0 2 , 1 ) lg( x x 10 0 2 2 , 2 x x 20 0 4 / ) ( ctg x x 2. Создать таблицу с заголовками столбцов Номер шага, Очередное приближение к корню, Проверка на точность. 3. В первую ячейку первой строки таблицы занести значение 0, во вторую — начальное приближение. 4. В следующие строки занести соответственно номер оче- редного шага, итерационную формулу, вычисляющую правую часть итерационной схемы, и условную формулу, позволяющую помещать в ячейку текст «Стоп» или «Дальше» в зависимости от выполнения заданной точности решения (см. п. 5 алгоритма). 5. Процесс копирования формулы продолжать до получения необходимой точности: разность двух рядом стоящих приближе- ний по модулю должна быть меньше заданного значения . 6. После получения решения построить график, иллюстри- рующий процесс сходимости: по оси абсцисс отложить номер шага, по оси ординат — очередное приближение к корню. 7. Ответить на вопрос: любое ли начальное приближение можно задавать в вашем варианте? Определить (примерно) диа- пазон возможных начальных значений, проведя численный экс- перимент. 2.2.2 Решение нелинейного уравнения методом бисекции Если метод итераций сходится не всегда, то метод бисекции (или метод деления отрезка пополам, или метод дихотомии) — безусловно сходящийся метод нахождения корней нелинейного 46 уравнения ( ) 0, f x лишь бы был известен отрезок, на котором расположен один корень уравнения. Пусть непрерывная функция ( ) f x меняет знак на концах отрезка [ , ], a b т. е. ( ) ( ) 0. f a f b Назовем такой отрезок отрез- ком локализации корня: на нем есть, по крайней мере, один ко- рень. Найдем координату середины этого отрезка ( ) / 2 c a b и рассмотрим два получившихся отрезка [ , ] a c и [ , ]. c b Если ( ) ( ) 0, f a f c то корень находится на отрезке [ , ], a c в против- ном случае — на отрезке [ , ]. c b Процесс деления пополам все но- вых и новых отрезков локализации корня продолжаем до тех пор, пока длина отрезка не станет меньше заданной величины точно- сти решения Задание 2.3. Метод бисекции Решить нелинейное уравнение методом бисекции. Для решения уравнения этим методом в Excel достаточно внести в некоторые ячейки, лежащие в одной строке, формулы, осуществляющие следующие операции: – вычисление значений левой и правой границ отрезков ло- кализации; – нахождение середины отрезка; – вычисление произведения значений функций на левой и правой границах отрезка (для контроля правильности алгорит- ма); – проверку на точность решения (аналогично предыдущему заданию). Затем формулы копируются вниз по столбцам до тех пор, пока не будет найден корень с заданной степенью точности, например = 0,0001. Данные для решения взять из табл. 2.2, то есть решить одно и то же уравнение двумя способами. 2.3 Решение систем линейных уравнений Дана система линейных алгебраических уравнений (СЛАУ) вида 47 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 ; ; ; n n n n n n nn n n a x a x a x b a x a x a x b a x a x a x b (2.4) или в матричном виде A , X B где A { } ij a — матрица коэф- фициентов при неизвестных; { } ij B b — вектор-столбец правых частей уравнений; { } ij X x — вектор-столбец неизвестных. Ее решение — вектор столбец * * { } ij X x в Excel можно найти разными способами, например используя специальные функции для работы с матрицами (Формулы Математические): МОБР — вычисление обратной матрицы 1 À ; МОПРЕД — вычисление определителя матрицы D; МУМНОЖ — нахождение произведения двух матриц. Задание 2.4. Метод обратной матрицы Решение имеет вид 1 A , X B где 1 A — матрица, обрат- ная по отношению к матрице A. С помощью функции МОБР находится обратная матрица, а затем с помощью функции МУМНОЖ она перемножается с вектором-столбцом правых частей уравнений. Можно проверить найденное решение умножением матрицы коэффициентов на вектор-столбец решения. Должен получиться вектор-столбец правых частей. СЛАУ взять из таблицы 2.3. Примечание. Если функция в качестве ответа должна выда- вать не одно значение, а вектор или матрицу, то перед вводом формулы необходимо выделить область на рабочем листе, куда будет выведен результат вычисления, а после задания исходных данных в поле функции выйти не как обычно, нажатием клавиши Enter или кнопки ОК, а нажатием клавиш Ctrl + Shift + Enter. 48 Задание 2.5. Метод Крамера Если определитель матрицы А, составленной из коэффи- циентов при неизвестных, отличен от нуля, то решение имеет вид / , 1, ..., , j j x j n (2.5) где j — определитель вспомогательной матрицы, полученной из матрицы А путем замены ее j-го столбца вектором-столбцом правых частей уравнений В (дополнительный определитель). Рекомендуется сформировать на листе три вспомогательные матрицы, поочередно заменяя столбцы матрицы из коэффициен- тов столбцами правых частей, затем с помощью функции МОПРЕД найти главный определитель и дополнительные определители j , а затем по формуле (2.5) вычислить корни СЛАУ. Таблица 2.3 — Системы линейных алгебраических уравнений Вариант СЛАУ Вариант СЛАУ 1 1 , 2 7 , 1 8 , 5 1 , 4 ; 7 , 1 8 , 2 7 , 1 5 , 3 ; 1 , 2 3 , 1 3 , 3 7 , 2 3 2 1 3 2 1 3 2 1 x x x x x x x x x 2 28 , 1 75 , 0 35 , 2 17 , 1 ; 17 , 0 18 , 0 65 , 0 71 , 0 ; 08 , 2 63 , 0 71 , 0 34 , 0 3 2 1 3 2 1 3 2 1 x x x x x x x x x 3 1 , 2 3 , 1 3 , 3 2 , 4 ; 1 , 1 8 , 1 4 , 3 1 , 2 ; 7 , 0 9 , 1 8 , 2 7 , 1 3 2 1 3 2 1 3 2 1 x x x x x x x x x 4 05 , 0 81 , 1 17 , 3 22 , 0 ; 11 , 1 12 , 0 11 , 0 11 , 2 ; 75 , 0 17 , 0 28 , 0 75 , 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x 5 6 , 5 8 , 4 8 , 3 5 , 7 ; 1 , 2 1 , 2 1 , 3 9 , 1 ; 2 , 0 9 , 1 8 , 2 1 , 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x 6 13 , 0 11 , 0 33 , 0 01 , 3 ; 00 , 2 11 , 0 75 , 0 13 , 0 ; 11 , 0 75 , 0 18 , 0 21 , 0 3 2 1 3 2 1 3 2 1 x x x x x x x x x 7 8 , 5 2 , 1 7 , 5 1 , 4 ; 7 , 6 8 , 2 1 , 5 8 , 3 ; 8 , 9 8 , 7 6 , 5 1 , 9 3 2 1 3 2 1 3 2 1 x x x x x x x x x 8 12 , 0 39 , 0 17 , 0 28 , 0 ; 11 , 0 77 , 0 18 , 0 75 , 0 ; 15 , 0 00 , 2 14 , 0 13 , 0 3 2 1 3 2 1 3 2 1 x x x x x x x x x 9 3 , 3 1 , 1 8 , 1 7 , 2 ; 7 , 5 8 , 4 7 , 3 1 , 4 ; 8 , 0 8 , 2 1 , 2 3 , 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x 10 17 , 0 71 , 0 11 , 2 17 , 0 ; 13 , 0 75 , 0 13 , 0 11 , 1 ; 00 , 1 15 , 0 14 , 0 01 , 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x 11 8 , 7 8 , 3 1 , 2 9 , 2 ; 7 , 9 7 , 2 1 , 4 8 , 3 ; 1 , 10 7 , 4 8 , 5 6 , 7 3 2 1 3 2 1 3 2 1 x x x x x x x x x 12 88 , 0 67 , 0 81 , 0 73 , 0 ; 62 , 0 43 , 0 54 , 0 24 , 0 ; 15 , 2 62 , 0 83 , 0 92 , 0 3 2 1 3 2 1 3 2 1 x x x x x x x x x 13 3 , 4 5 , 1 3 , 2 6 , 1 ; 2 , 0 7 , 1 34 , 0 5 , 0 ; 5 , 6 7 , 3 5 , 2 2 , 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x 14 35 , 0 63 , 0 25 , 1 48 , 0 ; 50 , 1 44 , 1 45 , 0 11 , 2 ; 46 , 0 17 , 3 87 , 0 24 , 1 3 2 1 3 2 1 3 2 1 x x x x x x x x x 49 Вариант СЛАУ Вариант СЛАУ 15 9 , 1 4 , 7 4 , 2 4 , 3 ; 7 , 2 3 , 2 7 , 1 2 , 4 ; 3 4 , 3 3 , 2 4 , 5 3 2 1 3 2 1 3 2 1 x x x x x x x x x 16 54 , 0 88 , 0 77 , 0 86 , 0 ; 71 , 1 43 , 1 83 , 0 58 , 0 ; 23 , 2 2 , 4 83 , 0 64 , 0 3 2 1 3 2 1 3 2 1 x x x x x x x x x 17 6 , 1 3 , 3 5 , 4 5 , 1 ; 4 , 0 9 , 1 6 , 3 7 , 2 ; 83 , 3 7 , 4 8 , 1 6 , 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x 18 64 , 0 52 , 0 23 , 2 84 , 0 ; 44 , 0 58 , 0 43 , 1 63 , 0 ; 32 , 1 85 , 0 42 , 0 32 , 0 3 2 1 3 2 1 3 2 1 x x x x x x x x x 19 2 , 1 7 , 3 3 , 1 8 , 0 ; 4 , 2 7 , 6 6 , 3 4 , 3 ; 9 , 1 7 , 1 7 , 2 6 , 5 3 2 1 3 2 1 3 2 1 x x x x x x x x x 20 92 , 0 83 , 0 22 , 1 75 , 0 ; 66 , 0 78 , 0 66 , 0 25 , 1 ; 58 , 0 38 , 0 24 , 1 73 , 0 3 2 1 3 2 1 3 2 1 x x x x x x x x x 2.4 Решение систем нелинейных уравнений В общем случае система нелинейных уравнений имеет вид: 1 1 2 2 1 2 1 2 , , , 0; , , , 0; , , , 0. n n n n f x x x f x x x f x x x (2.6) Системы нелинейных уравнений в Excel можно решать с помощью средства анализа Поиск решения (Данные | группа Анализ | Поиск решения). Если на ленте Данные отсутствует вкладка Анализ, то для ее установки нужно выполнить последовательность действий: Файл | Параметры | Надстройки | Пакет анализа | Перейти (рис. 2.3) | ОК. Составим новую функцию (назовем ее целевой функцией) 1 2 ( , , , ), n F x x x представляющую собой сумму квадратов левых частей уравнений данной системы (2.6): 2 1 2 1 2 1 ( , , , ) ( , , , ) n n i n i F x x x f x x x (2.7) Очевидно, переменные 1 2 , , , , n x x x являющиеся решением системы (2.6), с необходимостью и достаточностью являются также решением уравнения: 2 1 2 1 ( , , , ) 0 n i n i f x x x . (2.8) Окончание табл. 2.3 50 Рис. 2.3 — Установка Поиска решения Таким образом, найдя с помощью Поиска решения вектор { 1 2 , , , n x x x }, доставляющий целевой функции нулевое значе- ние, мы также получим решение системы нелинейных уравнений (2.6). Задание 2.6. Метод целевой функции Найти все корни системы нелинейных уравнений, взяв дан- ные из таблицы 2.4. Проверить найденное решение. Построить поверхность, описываемую функцией F(x, y) в окрестности всех найденных корней, пользуясь описанием, приведенным в п.1.7.3. Путь решения следующий. На листе Excel отводим ячейки для неизвестных заданной системы уравнений, например с А1 по А5 (если пять перемен- ных), и вводим туда начальные приближения. В ячейку В2 вво- дим формулу, вычисляющую функцию (2.7). 51 Рис. 2.4 — Диалоговое окно Параметры поиска решения при решении Таблица 2.4 Вариант СНУ Вариант СНУ 1 1 2 6 , 0 ) 4 , 0 ( tg 2 2 2 y x x xy 2 3 9 5 3 5 2 2 2 y x y x 3 1 0 6 , 1 ) sin( 2 2 y x x y x 4 2 4 3 4 4 3 2 2 y x y x 5 2 ) cos( 2 2 , 1 ) 1 sin( y x y x 6 1 7 2 4 2 5 2 2 y x y x 7 3 ) cos( 5 , 0 ) 1 cos( y x y x 8 1 3 5 3 5 4 2 2 y x y x 9 1 ) 5 , 0 sin( 2 5 , 1 ) cos( y x y x 10 1 3 7 3 6 5 2 2 y x y x 11 1 ) 1 , 0 ( tg 2 2 2 y x x xy 12 2 2 5 3 5 3 2 2 y x y x Таблица 2.4 Вариант СНУ Вариант СНУ 1 1 2 6 , 0 ) 4 , 0 ( tg 2 2 2 y x x xy 2 3 9 5 3 5 2 2 2 y x y x 3 1 0 6 , 1 ) sin( 2 2 y x x y x 4 2 4 3 4 4 3 2 2 y x y x 5 2 ) cos( 2 2 , 1 ) 1 sin( y x y x 6 1 7 2 4 2 5 2 2 y x y x 7 3 ) cos( 5 , 0 ) 1 cos( y x y x 8 1 3 5 3 5 4 2 2 y x y x 9 1 ) 5 , 0 sin( 2 5 , 1 ) cos( y x y x 10 1 3 7 3 6 5 2 2 y x y x 52 Вариант СНУ Вариант СНУ 11 1 ) 1 , 0 ( tg 2 2 2 y x x xy 12 2 2 5 3 5 3 2 2 y x y x 13 1 2 , 0 2 , 1 ) sin( 2 2 y x x y x 14 2 3 5 3 6 7 2 2 y x y x 15 1 2 8 , 0 ) ( tg 2 2 2 y x x xy 16 2 2 3 3 6 5 2 2 y x y x 17 2 ) cos( 2 1 ) 1 sin( x y x y 18 3 7 2 2 2 3 2 2 y x y x 19 2 ) 5 , 0 ( 1 ) exp( 2 2 2 y x y x y x 20 2 5 3 3 5 2 2 y x y x Примечание. При неудачном выборе вектора начального приближения решение может быть не найдено. Поэтому необхо- дим предварительный анализ системы уравнений с целью опре- деления лучшего (более близкого к корню) начального прибли- жения. Задавая разные начальные приближения, можно получить разные решения системы. Окончание табл. 2.4 |