Решение дифференциальных уравнений в эксель
Расчетная таблица, скопированная с рабочего листа MS Excel, показана на рис. 2.1.
Рис. 2.1. Фрагмент рабочего листа с решением примера методом Эйлера
2.1.4.Численное решение методом Рунге-Кутта в Excel
Расчетные формулы для конкретного примера запишем, исходя из общих формул и подставляя в них конкретные функции, определяемые видом уравнения (2.1). Отметим, что исходное уравнение должно быть приведен к виду (1.1).
Задаемся начальным значением y0 и вычисляем
Приведем также пример расчетных формул для уравнения другого вида, а именно уравнения, содержащего x в правой части.
Для него расчетные формулы имеют вид:
Расчетная таблица, скопированная из Excel, представлена на рис. 2.2. Ниже указан порядок ее заполнения
Первая строка заполнена именами переменных
Две ячейки H21, H22 отводятся под значения констант h, c и еще две ячейки G21?G22 под их имена
Первый столбец заполняется значениями x
В ячейку B22 вводим значение y0,
В ячейки С22,D22, E22, F22 вводим соответственно формулы:
В ячейку B23 вводим формулу:
В ячейки B24:B37 копируем формулу из ячейки B23
В ячейки C22:F36 копируем формулы из ячеек C22:F22.
Рис. 2.2. Фрагмент рабочего листа с решением примера по методу Рунге-Кутта
Построим графики численного решения данного уравнения в Excel методами Эйлера и Рунге-Кутта, а также график аналитического решения. Все три графика строим на одной диаграмме. При построении графика с помощью Мастера диаграмм следует:
1. На первом шаге выбрать Тип диаграммы - Точечная
2. На втором шаге последовательно задать ряды данных для каждого графика:
3. На третьем шаге задать параметры Диаграммы: заголовок, названия осей. В случае абстрактного уравнения заголовок диаграммы можно опустить. В легенде следует указать, какому методу данный ряд соответствует.
4. На последнем шаге помещаем диаграмму на имеющемся рабочем листе.
1. Если графики трудно различимы, можно изменить формат рядов данных (на графике), выделяя соответствующий ряд и вызывая контекстное меню правой кнопкой мыши
2. Если шкалы по осям x или y не соответствуют диапазону изменения x, y, нужно изменить их минимальные и максимальные значения по команде формат оси, вызываемой в контекстном меню.
Графики решения данного уравнения различными методами представлены на рис. 2.3.
Рис. 2.3. Графики решений уравнения (2.1) различными способами
2.1.5. Численное решение задачи методом Рунге-Кутта в Турбо Паскале
Расчетные формулы.
Решим уравнение (2.1) методом Рунге-Кутта четвертого порядка, используя формулы (1.8)-(1.9). Т.к. неизвестные значения функции y(x) вычисляются рекуррентно, требуется задать ее начальное значение.
Мощные вычислительные возможности электронной таблицы Microsoft Excel 7.0 для Windows 95 позволяют решать самые разнообразные задачи. В этой главе мы рассмотрим решение задачи Коши для обыкновенного дифференциального уравнения первого порядка.
Помимо развитого аппарата формул и функций в состав Excel входит специальное средство для решения задач оптимизации — Пакета анализа. В этой главе мы покажем, как использовать этот инструмент Excel для решения линейных и нелинейных задач математического программирования.
Решение обыкновенного дифференциального уравнения первого порядка
В этом разделе мы решим задачу Коши для обыкновенного дифференциального уравнения первого порядка.
В общем виде задача Коши формулируется следующим образом: найти решение y = y(x) дифференциального уравнения следующего вида:
удовлетворяющее начальному условию
Найдем решение дифференциального уравнения следующего вида:
dy/dx = 2*y + exp(x) - x
удовлетворяющее начальному условию:
Решение нужно найти на отрезке [0,T], где параметр «T» может принимать любые значения.
Точное решение этого уравнения имеет следующий вид:
y(x) = exp(2*x) - exp(x) - x
Нам нужно найти численное решение этого уравнения, то есть функцию заданную в табличном виде, принимающую решения на отрезке [0,T] с шагом h и сравнить его с точным решением в тех же точках.
Определим шаг h по следующей формуле:
где N — числу точек на отрезке [0,T], в которых вычисляется значение искомой функции.
Для решения поставленной задачи мы применим два метода: метод Эйлера и метод Рунге-Кутта 4-го порядка. Первый метод очень просто реализуется, а второй — гораздо точнее.
Давайте коротко остановимся на каждом из этих методов.
Метод Эйлера заключается в том, что решение задачи Коши для обыкновенного дифференциального уравнения 1-го порядка задается рекуррентной формулой следующего вида:
xk = x0 + h*k, x0 = 0, k = 0, 1, 2, . N-1.
Мы приводим метод Эйлера из-за простоты его реализации.
Метод Рунге-Кутта 4-го порядка заключается в том, что решение задачи Коши для обыкновенного дифференциального уравнения 1-го порядка задается рекуррентной формулой следующего вида:
m4 = f(xk + h, yk + m3*h), k = 0, 1, 2, . N-1.
Метод Рунге-Кутта значительно точнее метода Эйлера, но и программировать его сложнее, однако мощный аппарат формул электронной таблицы Microsoft Excel позволяет сравнительно просто организовать процесс вычисления.
Графические возможности Excel позволяют сравнить приближенное и точное решение, что также будет отражено в следующих разделах.
Алгоритм численного решения
В колонке I у нас будут находится границы отрезке [0,T]. В начале расчетов положим I1 = 0 (это величина левой границы отрезка [0,T] ), I2= 1 (это величина T правой границы отрезка [0,T] ), в ячейке I3 вычисляется величина шага h по формуле следующего вида:
В ячейке I4 находится число точек N = 100.
Рисунок 1 - Решение дифференциального уравнения методом Эйлера и методом Рунге-Кутта 4-го порядка
В колонке A вычисляется решение нашей задачи по формуле Эйлера. В ячейке A1 находится начальное значение y0 = 0,25. В ячейку A2 введем формулу следующего вида:
В колонке B будет находиться текущее значение переменной x. В ячейках B1 и B2, соответственно, находятся формулы следующего вида:
В ячейку B1 пересылается левая граница отрезка [0,T], а в ячейке B2 прибавляется величина шага h из ячейки I3 к значению в предыдущей ячейке B1.
В колонке C вычислим точное решение. В ячейке C1 находится значение решения в точке x = 0, а в ячейке C2 формула следующего вида:
Эта формула вычисляет значение точного решения уравнения при значении аргумента x из ячейки B2.
В колонке H вычисляется значение численного решения задачи Коши методом Рунге-Кутта 4-го порядка. Значение xk берется их ячейки B2, а значение yk берется из ячейки H1.
В ячейке H2 записана формула следующего вида:
В ячейках D2, E2, F2 и G2 записаны формулы для коэффициентов m1 , m2 , m3 и m4 , соответственно. Эти формулы имеют следующий вид:
Распространим формулы из 2 строки до значения x = 1. В соответствующей ячейке столбца B должно находится число 1. Последняя строка имеет номер 101. Результат распространения представлен на рисунок 1.
Алгоритм вычисления значений решения задачи Коши реализован. Проведем расчеты и построим графики.
Мы будем изменять значение правой границы отрезка [0,T], а число точек, в которых вычисляются значения решения, оставим без изменения. Это даст нам возможность показать влияние величины шага на точность полученного решения.
Построим графики точного и приближенного решения задачи Коши. Напомним, что в колонке A получено решение методом Эйлера, колонке H — методом Рунге-Кутта 4-го порядка, в колонке C — точное решение, а в колонке B находятся значения переменной x. Колонка B будет играть роль меток. При построении графиков она должна быть самой левой в блоке данных. Чтобы добиться такого положения, при построении графика выделим блок B2:E4, содержащий 4 колонки. При этом самая левая колонка — столбец B. В столбце C находится точное решение задачи, столбцы C и D мы включили только для того, чтобы заменить их в блоке на колонки A и H.
Ниже приведена последовательность действий при построении графика:
Рисунок 2 -Установка диапазона данных
В окне диалога «Мастер диаграмм шаг 1 из 5» установите диапазон данных, по которым будет строится диаграмма. Для этого выделите мышью ячейки B2:E2. В поле ввода Диапазон появится ссылка $B$2:$E2. Наш блок ячеек простирается до 101 строки. Поскольку перемещать указатель мыши так далеко вниз неудобно, нажмите мышью в поле ввода Диапазон и исправьте последнюю цифру 2 на число 101 (рисунок 2). После этого нажмите кнопку Далее>.
В окне диалога «Мастер диаграмм шаг 2 из 5» выберите тип диаграммы График и нажмите кнопку Далее>.
В окне диалога «Мастер диаграмм шаг 3 из 5» выберите формат графика «2» и нажмите кнопку Далее>.
В окне диалога «Мастер диаграмм шаг 4 из 5» установите один столбец под метки оси X и нажмите кнопку Далее>.
В окне диалога «Мастер диаграмм шаг 5 из 5» установите переключатель Добавить легенду и нажмите кнопку Готово. На экране появится диаграмма. Сразу же приступаем к замене 2 и 3 рядов данных столбцами H и A, соответственно.
Дважды нажмите на диаграмме, чтобы войти в режим ее редактирования. Значения в рядах 2 и 3 настолько близки, что визуально неотличимы на графике, поэтому заменим выделенный ряд, не заботясь о его содержимом. Установите указатель мыши на линии рядов 2 и 3 и нажмите мышью. На ряде данных 3 появились черные квадратики (рисунок 3). В строке ввода появилась ссылка на ряд, по которой мы определили его номер.
Рисунок 3 - Подготовка к замене ряда 3
Установите указатель мыши около одного из квадратиков и нажмите правую кнопку мыши. Появится меню, из которого выберите команду Формат ряда. Появится окно диалога «Форматирование ряда», в котором выберите вкладку «Значения Y».
|
Рисунок 4 - Изменение ряда данных 3 во вкладке «Значения Y»
Если нажать кнопку OK, то форматирование ряда закончится. Поскольку цветные линии плохо различимы при печати, изменим тип и цвет линии ряда 3. Для этого выберите вкладку «Вид».
Сделаем замену значений для ряда 2. Подставим вместо столбца D столбец A. Изменим цвет линии на черный, а тип линии — на штрих-пунктирный. Результат показан на рисунке 5. Вывод здесь однозначен: на отрезке [0,1] графики точного решения и решений полученных численными методами при шаге 0,01 отличаются незначительно.
Рисунок 5 - Графики точного и приближенных решений задачи Коши на отрезке [0,1]
Процесс построения графиков закончен. Теперь изменим отрезок интегрирования задачи Коши. Найдем решение на отрезке [0,10]. Для этого введем в ячейку I2 число 10. Расчет формул и построение нового графика произойдет автоматически (рисунок 6).
Рисунок 6 - Решение задачи Коши на отрезке [0,10]
Отформатируем оси графика. Для этого выполните следующие действия:
- Войдите в режим редактирования графика.
- Нажмите мышью на оси X. На концах оси появятся квадратики.
- Нажмите правую кнопку мыши и в появившемся меню выберите команду Формат оси
- Появится окно диалога «Форматирование оси».
- Выберите вкладку «Шкала» и установите число категорий между метками делений и между делениями по 10 (рисунок 7).
Рисунок 7 - Форматирование оси X
Поскольку по оси Y отображаются большие значения, введем логарифмическую шкалу для этой оси. Для этого в окне диалога «Форматирование оси» выберите вкладку «Шкала» и установите флажок Логарифмическая шкала (рисунок 8). После нажатия кнопки OK график изменится. Новый график представлен на рисунок 9. На нем изменены размеры и формат основания.
|
Рисунок 8 - Форматирование оси Y
Рисунок 9 - График с логарифмической шкалой
Проверка на точность
При вычислении с шагом 0,01 на отрезке [0,1] точное решение задачи Коши очень близко к численному решению. Однако отличие все -таки есть. Рассмотрим влияние шага h на точность вычислений. Для этого получим решение задачи Коши на отрезке [0,10] с шагом 0,5 и сравним полученные решения между собой и результатами, приведенными на рисунке 10.
Графики точного и численных решений с шагом h=0,5 представлены на рисунке 10. На этом рисунке уже отчетливо видно, что метод Рунге-Кутта 4-го порядка (ряд 3) имеет более высокую точность по сравнению с методом Эйлера (ряд 2).
Рисунок 10 - Решение задачи Коши на отрезке [0,10] с шагом 0.5.
Задания к лабораторной работе.
1. Решите, используя методы Эйлера и Рунге-Кутта дифференциальные уравнения согласно варианту задания, представленному в таблице 1.
2. Постройте график, отображающий точное решение, решение методом Эйлера и методом Рунге-Кутта.
Содержание отчета
Постановка задачи, методика решения дифференциальных уравнений средствами Excel, результаты выполнения, выводы.
Контрольные вопросы.
1. Какие данные необходимо ввести в таблицу для решения задачи Коши?
3. Как отобразить решение диф. уравнений на диаграмме? Какие изменеиня следует внести в формат диаграммы?
Цель:изучить технологию численного решения уравнений средствами MS EXCEL.
Теоретическое введение
Пример 4.1. Нахождение корней полиномов при помощи табулирования и сервисной функции Подбор параметра.
Известно, что если функция, определенная в интервале [a,b], имеет значения F(а) и F(b) с разными знаками, то в интервале [a,b] есть, по крайней мере, один корень. Построить алгоритм нахождения корней уравнений с заданной точностью EPS следующим образом.
1. Определить начальный интервал [A, B], где находятся корни.
модули всех корней xk , k = 1…n расположены в круговом кольце
Таким образом, положительные корни лежат в интервале [A, B], а отрицательные корни - в интервале [-B, -A].
2. Табулируя полином в найденных начальных интервалах (например, с шагом (В-А)/10), составить таблицу .
3. Определить две соседние ячейки х, где функция меняет свой знак. Одно из значений (для которого значение функции ближе к нулю) принять за начальное приближение к корню полинома.
4. (меню Сервис). Относительная погрешность вычислений и предельное число итераций задаются на вкладке Вычисления диалогового окна Параметры (Сервис з Параметры з Вычисления) (рис. 4.1).
5. Открыть диалоговое окно Подбор параметра(рис. 4.2). В поле Установить в ячейке ввести адрес ячейки, где вычисляется значение полинома. В поле Значение ввести 0 (т.е. искомое значение полинома). В поле Изменяя значение ячейки ввести адрес ячейки, отведенной для переменной х, где должно находиться начальное приближение к корню полинома.
Рис. 4.1. Диалоговое окно Параметры
Рис. 4.2. Диалоговое окно Подбор параметра
Примечание. В этой ячейке должно содержаться числовое значение, а не формула, его вычисляющая. Для того, чтобы заменить в ячейке формулу на ее числовое значение, необходимо, находясь в этой ячейке, вызвать контекстно-зависимое меню и выбрать Копировать. Затем, находясь в той же ячейке, снова вызвать контекстно-зависимое меню и выбрать Специальная вставка (рис. 4.3).
В появившемся диалоговом окне отметить Значения. После этого ячейка готова к использованию в поле Изменяя значение ячейки диалогового окна Подбор параметра.
6. После подбора параметра (ОК) х получит значение корня. Процесс повторяется для всех найденных начальных приближений в диапазоне, определяемом формулой (4.1).
Рис. 4.3. Диалоговое окно Специальная вставка
Пример 4.2.Нахождение корней нелинейных уравнений с помощью метода итераций.
Пусть дано уравнение f(x)=0. Для нахождения его корней методом итераций уравнение представляют в виде x=F(x) и записывают итерационную схему
с помощью которой строится итерационный процесс уточнения корней, начиная с начального значения x0, которое выбирается самостоятельно. Достаточное условие сходимости процесса: в окрестности корня | F / (x)|
Порядок действий в Excel может быть следующий.
1. Представить данное уравнение в виде x=F(x).
2. Создать таблицу с заголовками столбцов Номер шага, Очередное приближение к корню, Проверка на точность.
3. В первую ячейку первой строки таблицы занести значение 0, во вторую – начальное приближение.
4. В следующие строки занести, соответственно, номер очередного шага, итерационную формулу, вычисляющую правую часть итерационной схемы, и условную формулу, позволяющую помещать в ячейку текст «Стоп» или «Дальше» в зависимости от выполнения заданной точности решения (см. п. 5).
5. Процесс копирования формулы продолжать до получения необходимой точности: разность двух рядом стоящих приближений по модулю должна быть меньше заданного значения EPS.
Если процесс расходится (получающиеся приближения удаляются друг от друга) или сходится очень медленно, то необходимо сменить вид представления x=F(x).
В этом может оказать помощь другой итерационный метод решения нелинейных уравнений – метод Ньютона. Его итерационная схема имеет вид
Сравнивая (4.2) и (4.3), замечаем, что в качестве функции F(xk) можно взять правую часть из формулы (4.3). В большинстве случаев метод Ньютона сходится быстрее.
Пример 4.3. Нахождение корней нелинейных уравнений методом бисекции.
Если метод итераций сходится не всегда, то метод бисекции (или метод деления отрезка пополам, или метод дихотомии) – безусловно сходящийся метод нахождения корней нелинейного уравнения F(x)=0, лишь бы был известен отрезок, на котором расположен корень уравнения.
Пример 4.4. Решение систем линейных алгебраических уравнений.
В Excel имеются специальные функции для работы с матрицами (Вставка функции пМатематические):
МОБР вычисление обратной матрицы А -1 ;
МОПРЕД вычисление определителя матрицы D;
МУМНОЖ нахождение произведения двух матриц.
С их помощью можно решать системы линейных алгебраических уравнений вида
или в матричном виде
где А = ij>– матрица коэффициентов при неизвестных;
В = ij> – вектор-столбец правых частей уравнений;
Х = ij> – вектор-столбец неизвестных.
Способ 1 (метод обратной матрицы).
Решение имеет вид Х = А –1 ЧВ, где А –1 – матрица, обратная по отношению к матрице А.
С помощью функции МОБР находится обратная матрица, а затем с помощью функции МУМНОЖ она перемножается с вектором-столбцом правых частей уравнений.
Примечание. При работе с матрицами перед вводом формулы необходимо выделить область на рабочем листе, куда будет выведен результат вычисления, а после задания исходных данных в поле функции выйти не как обычно, нажатием клавиши Enter или кнопки ОК, а нажатием клавиш Ctrl + Shift + Enter.
Способ 2 (правило Крамера). Если определитель D, составленный из коэффициентов при неизвестных, отличен от нуля, то решение имеет вид
Здесь Dj – дополнительный определитель, полученный из главного определителя системы D путем замены его j-го столбца вектором-столбцом В.
С помощью функции МОПРЕД находятся главный и дополнительные определители, и по формулам (4.5) вычисляются корни СЛАУ.
Способ 3 (метод исключений Гаусса). Этот метод основан на приведении матрицы системы к треугольному виду, что достигается последовательным исключением неизвестных из уравнений системы.
Предположим, что в (4.4) a11 ¹ 0. Разделим первое уравнение системы на a11 (этот коэффициент называется ведущим или главным элементом), получим:
Затем из каждого из остальных уравнений вычитается первое уравнение, умноженное на соответствующий коэффициент ai1 (i=2,3,¼, n).
Эти n–1 уравнений принимают вид:
Далее аналогичную процедуру выполняют с этой системой, оставляя в покое первое уравнение. Только теперь делят на другой ведущий элемент a22 (1) ¹0.
В результате исключения неизвестных приходим к СЛАУ с верхней треугольной матрицей с единицами на главной диагонали:
Индексы над коэффициентами означают, сколько раз данное уравнение преобразовывалось.
Прямой ход метода Гаусса завершен.
Обратный ход метода Гаусса заключается в нахождении неизвестных xn, xn-1, . , x1 , причем в указанном порядке.
В этом списке xn уже определено из последнего уравнения системы (4.6), а общая формула обратного хода имеет вид:
Проиллюстрируем этот алгоритм на примере решения системы из трех уравнений.
1.Располагаем на листе Excel матрицу коэффициентов и столбец правых частей (т.н. расширенная матрица 3´4), например, в ячейках А4:D6 (рис. 4.4).
2.Выделяем диапазон ячеек А8:D8 и вводим формулу:
Фигурные скобки появляются автоматически при вводе формулы комбинацией клавиш Shift+Ctrl+Enter, как признак того, что идет работа не с отдельными ячейками, а с массивами.
3.Выделяем диапазон ячеек А9:D9, вводим формулу:
и копируем эту формулу в диапазон ячеек А10:D10. В ячейках А9 и А10 появились нули.
4.В ячейки А12:D12 копируем значения первой строки расширенной матрицы А8:D8, в ячейки А13:D13 – формулу .
При этом второй элемент главной диагонали матрицы коэффициентов становится равным единице.
Рис.4.4 – Результаты решения СЛАУ
5)В ячейки А16:D17 копируем значения первых двух строк расширенной матрицы (А12:D13), а в ячейки А18:D18 – формулу: .
Прямой ход метода Гаусса завершен: получилась верхняя треугольная матрица с диагональными элементами, равными 1.
Задание 4.5. Решение систем нелинейных уравнений.
С помощью сервисной программы Поиск решения (Сервис | Поиск решения) в Excel можно решать системы нелинейных уравнений.
В общем случае система нелинейных уравнений имеет вид:
Составим новую функцию F(x1, х2, . хn), представляющую собой сумму квадратов правых частей уравнений:
Очевидно, переменные x1, х2, . хn , являющиеся решением системы (4.7), с необходимостью и достаточностью являются также решением уравнения:
На листе Excel отводим ячейки для неизвестных данной системы уравнений, например с А1 по А5 (если пять переменных), и вводим туда начальные приближения. В ячейку В2 вводим формулу, вычисляющую функцию (4.8).
Открываем диалоговое окно Поиск решения (рис. 4.5). В поле Установить целевую ячейку вводим В2, в группе Равной устанавливаем переключатель в положение Значению и в поле ввода задаем 0. В поле Изменяя ячейки вводим диапазон ячеек А1:А5.
Рис.4.5. Диалоговое окно Поиск решения при решении нелинейного уравнения
После нажатия на кнопку Выполнить будет найдено решение, которое поместится в ячейки А1:А5. В ячейке В2 будет вычислено значение левой части уравнения (4.9) с относительной погрешностью, задаваемой в диалоговом окне Параметры поиска решения.
Примечание 1. При неудачном выборе вектора начального приближения решение может быть не найдено. Поэтому необходим предварительный анализ системы уравнений с целью определения лучшего (более близкого к корню) начального приближения. Например, для системы из двух уравнений можно затабулировать функцию (4.8) и в качестве начальных выбрать приближения, наиболее близкие к нулю.
Примечание 2. Система уравнений может иметь несколько корней, поэтому необходим ее анализ и с этой стороны. Задавая разные начальные приближения, можно получить разные решения системы.
4.2. задания для практической работы
Задание 4.1. Найти корни полиномов при помощи табулирования и сервисной функции Подбор параметра.
Данные для решения взять из таблицы 4.1. Корни найти с точностью EPS=0,00001.
Таблица 4.1 Полиномы
Вариант | Уравнение | Вариант | Уравнение |
x 4 +6x 3 +11x 2 –2x–28=0 | x 4 +3x 3 +8x 2 –5=0 | ||
x 4 +5x 3 +9x 2 +5x–1=0 | x 4 –6x 3 +11x 2 +2x–28=0 | ||
x 4 +3x 3 +3x 2 –2=0 | x 4 –5x 3 +9x 2 –5x–1=0 | ||
x 4 +x 3 –7x 2 +8x–6=0 | x 4 –3x 3 +3x 2 –2=0 | ||
x 4 –10x 3 +16x+5=0 | x 4 –x 3 –7x 2 –8x–6=0 | ||
x 4 –3x 3 –4x 2 –x–3=0 | x 4 –10x 2 –16x+5=0 | ||
x 4 +4x 3 +4x 2 +4x–1=0 | x 4 +3x 3 +4x 2 +x–3=0 | ||
x 4 +6x 3 +13x 2 +10x+1=0 | x 4 –4x 3 –4x 2 –4x–1=0 | ||
x 4 +x 3 –4x 2 +16x–8=0 | x 4 +2x 3 +3x 2 +2x–2=0 | ||
x 4 –x 3 –4x 2 –11x–3=0 | x 4 –6x 3 +13x 2 –10x+1=0 | ||
x 4 –6x 3 –12x–8=0 | x 4 –3x 2 +4x–3=0 | ||
x 4 +4x 3 +4x 2 –4=0 | x 4 –6x 2 +12x–8=0 | ||
x 4 +x 3 +2x+1=0 | x 4 –4x 3 +4x 2 –4=0 | ||
x 4 +2x 3 +x 2 +2x+1=0 | x 4 –x 3 –2x+1=0 | ||
x 4 +3x 2 –4x–1=0 | x 4 –2x 3 +x 2 –2x+1=0 |
Задание 4.2.Найти корни нелинейных уравнений с помощью метода итераций.
Данные для решения взять из таблицы 4.2. Точность решения EPS=0,0001.
После получения решения построить график, иллюстрирующий процесс сходимости: по оси абсцисс отложить номер шага, по оси ординат – очередное приближение к корню.
Задание 4.3. Найти корни нелинейных уравнений методом бисекции.
Таблица 4.2 Нелинейные уравнения
Вариант | Уравнение | Вариант | Уравнение |
ln(x)+(x+1) 3 =0 | x–sin(x)=0,25 | ||
x2 x =1 | tg(0,58x+0,1)=x 2 | ||
x–cos(x)=0 | 3x–cos(x)–1=0 | ||
3x+cos(x)+1=0 | |||
x+ln(x)=0,5 | x+lg(x)=0,5 | ||
2–x=ln(x) | x 2 +4sin(x)=0 | ||
ctg(1,05x)–x 2 =0 | |||
(2–x)exp(x)=0,5 | xlg(x)–1,2=0 | ||
2,2x–2 x =0 | |||
x 2 +4sin(x)=0 | 2x–lg(x)–7=0 | ||
2x–lg(x)=7 | |||
5x–8ln(x)=8 | |||
sin(x-0,5)–x+0,8=0 | cos(x+0,3)=x 2 | ||
x 2 cos(2x)=–1 |
При использовании Excel достаточно внести в некоторые ячейки, лежащие в одной строке, формулы, осуществляющие:
- вычисление значений левой и правой границы отрезков локализации;
- нахождение середины отрезка;
- вычисление произведения значений функций в левой и правой границах отрезка (для контроля правильности алгоритма);
- проверку на точность решения (аналогично предыдущему заданию).
Затем формулы копируются вниз по столбцам до тех пор, пока не будет найден корень с заданной степенью точности EPS=0,0001.
Данные для решения взять из таблицы 4.2, то есть решить одно и то же уравнение двумя способами.
Задание 4.4.Решить тремя способами систему линейных алгебраических уравнений, взяв данные для решения из таблицы 4.3.
Проверить найденное решение умножением матрицы коэффициентов на вектор-столбец решения.
Таблица 4.3 Системы линейных алгебраических уравнений
Задание 5. Решить систему нелинейных уравнений, взяв данные из таблицы 1.4. Проверить найденное решение.
Таблица 1.4. Системы нелинейных уравнений
Вариант | Система нелинейных уравнений | Вариант | Система нелинейных уравнений |
4.3.Контрольные вопросы
1. Опишите технологию нахождения корней полиномов при помощи табулирования и сервисной функции Подбор параметра.
2. С помощью какой сервисной команды осуществляется уточнение корня при использовании метода последовательных приближений?
3. В чем заключается отличие технологии нахождения корней нелинейных уравнений с помощью метода итераций от технологии нахождения корней нелинейных уравнений методом бисекции?
4. Укажите итерационную схему метода Ньютона.
5. Укажите специальные функции Excel для работы с матрицами.
6. Опишите технологию решения систем линейных алгебраических уравнений.
7. С помощью, какой сервисной программы Excel осуществляется решение систем нелинейных уравнений?
Приближенно найти корни некоторых систем из двух нелинейных уравнений можно графическим способом.
Для того, чтобы графически решить систему из двух уравнений c двумя неизвестными, представленными в виде
нужно выполнить следующие действия:
1. Привести уравнения системы к виду y=φ(x):
2. Создать последовательность значений аргумента x в заданном диапазоне.
3. Рассчитать значения функций для каждого значения аргумента (табулировать функции).
4. По полученным табличным значениям построить графики функций f1(x) и f2(x) .
5. Найти точку пересечения построенных графиков, навести указатель мыши на точку пересечения - появится всплывающая надпись с указанием искомых (приближенных) значений координат точки пересечения.
Заметим, что точность вычисления корней при графическом методе решения определяется величиной шага последовательности х . Если, например, шаг равен 0,2, то абсолютная погрешность вычисления равна +/- 0,2.
Технологию графического решения систем уравнений рассмотрим на примере.
Пример . Найти графически приближенное решение системы :
в диапазоне [0,2 - 3] с шагом 0,2.
- представим приведенные уравнения в виде:
- табулируем функции f1(x) и f2(x) в заданном диапазоне х 1 и с указанным шагом (рис. 1);
- по данным полученной таблицы построим график (рис. 1);
- подведем указатель мыши к узловой точке, которая расположена ближе других к точке пересечения графиков функций – отобразятся координаты точки пересечения с точностью, определяемой шагом табуляции (0,8; -0,22).
На графике видно, что система имеет только одно решение.
Таким образом, приближенное решение системы получено. Если подставить полученное решения в уравнения, то их правые части не обращаются в ноль. Это говорит о том, что решения только очень приблизительные.
Рассмотренный метод имеет, по крайней мере два недостатка:
- можно решать только системы из двух уравнений;
- решение получается неточным с абсолютной погрешностью (+/-) шаг табуляции.
Решение систем нелинейных уравнений с заданной относительной погрешностью
Рассмотрим технологию решения систем нелинейных уравнений на примере.
Пример 1. Требуется найти решение выше приведенной системы с относительной погрешностью 0,000001.
Решение.
Для решения системы применим надстройку Excel Поиск решения. Для этого:
1. На рабочем листе создадим модель для вычисления как на рис. 2.
В качестве целевой функции будем использовать первое уравнение системы, а в качестве функции ограничения - второе уравнение.
Понятно, что целевая функция в результате решения должна принять значение ноль, а второе уравнение также должно принять значение ноль.
2. Включим инструмент Поиск решения ( Данные> Анализ > Поиск решения ).
3. В диалоговом окне Параметры поиска решения установим опции:
- Оптимизировать целевую функцию - ссылка на ячейку, где записано первое уравнение;
- До Значени е=0;
- изменяя значения ячеек - ссылка на диапазон, где будет сохраняться решение ;
- Ограничения - ссылка на ячейку, содержащую второе уравнение, она должна принимать значение ноль (рис. 3).
4. В диалоговом окне Параметры поиска решения кликнем на кнопке Параметры и в открывшемся окне Параметры укажем погрешность вычисления (рис. 4), кликнем на кнопке ОК..
6. В диалоговом окне Параметры поиска решения кликнем на кнопке Найти решение. На рабочем листе отобразится результат (рис. 5)
Обратим внимание, что значения, принятые первым и вторым уравнением системы близки к нулевым значениям с заданной погрешностью вычислений. Значит решение верное и оно единственное.
Пример 2 . Требуется найти хотя бы одно решение системы двух нелинейных уравнений с относительной погрешностью |ε |< 0,00001 (решений у системы может быть несколько):
Данная система может решаться как система двух уравнений первого порядка (1.10)-(1.11), где f1 (x,y, z)=z , f2 (x,y,z)=f(x, y, z) .
2. Примеры постановок и численного решения задач.
2.1. Модель размножения бактерий ( решение задачи Коши для уравнения первого порядка)
2.1.1. Постановка задачи.
Рассмотрим задачу размножения бактерий при условии, что скорость прироста числа бактерий пропорциональна их наличному количеству с коэффициентом пропорциональности с . Задаваясь начальным количеством бактерий y(0)=y0 в начальный момент времени t=0 и некоторым промежутком времени T, определить закон изменения числа бактерий на промежутке времени [0,T] . Задачу решить численно методами Эйлера и Рунге-Кутта с использованием табличного процессора MS Excel и системы программирования Турбо Паскаль 7.0.
При выполнении расчетов положить y(0)=y0, c=1, h=0.1, T=1.5.
2.1.2. Математическая модель задачи
Пусть y=y(t) - количество бактерий в произвольный момент времени. Скорость роста бактерий представляет собой производную функции y(t). По условию выполнено соотношение:
Полагая y(0)=y0 , получим задачу Коши для дифференциального уравнения первого порядка.
2.1.3. Численное решение методом Эйлера
Расчетные формулы.
Данное уравнение имеет аналитическое решение
что предоставляет возможность сравнить с ним численное решение, полученное тем или иным методом.
При выполнении расчетов в Excel целесообразно записать формулу метода Эйлера (1.4) с указанием конкретной правой части уравнения.
Для проведения расчетов будем вычислять вначале добавку к текущему значению функции для вычисления следующего
Выполнение расчетов в Excel
Рассмотрим расчетную таблицу в Excel, содержащую три столбца для значений . Дадим им заголовки x, y, , расположив их в ячейках A2:C2. Для постоянных величин h, c отведем отдельные ячейки E2 и E3. Их заголовки помещены в ячейки D2 и D3.
Расчеты в таблице Excel выполняются по следующему алгоритму
1. Вычисление первого столбца:
первые два значения x = x0 и x1 = x0+h вводятся в ячейки A3 и A4, затем, выделив две эти ячейки , заполняем столбец значений x до достижения конечного значения x=T.
2. Затем заполним первую строку расчетной таблицы: в столбце для y введем y0 в ячейку B3, в столбце для введем в ячейке C3 формулу:
=$E$2*$E$3*B3 (вычисляется приращение функции y для текущего значения x в соответствии с по формуле 2.4)
3. Вычисление второго столбца:
Вводим формулу =В3+С3 в ячейку B4 и копируем ее в ячейки B5:B18 (вычисляется новое значение функции y при изменении x на один шаг с помощью линейного приращения по формуле 2.5).
Читайте также: