решение уравнений маткад. Нелин_уравнения. Практическая работа 5 Численное решение нелинейных уравнений в Mathcad (метод простых итераций)
Скачать 318.5 Kb.
|
Практическая работа №5Численное решение нелинейных уравнений в Mathcad (метод простых итераций) Цель работы:научиться решать нелинейное уравнение в Mathcad, используя вычислительный алгоритм метода простых итераций; Задание №1. Решить нелинейное уравнение методом итераций. Метод простых итераций является одним из наиболее важных способов численного решения уравнений. Этот метод состоит в следующем. Пусть дано уравнение f(x)=0, (1) где f(x) непрерывная функция, требуется определить вещественные корни этого уравнения. Запишем уравнение (1) равносильным уравнением x= (x) (2) Выберем каким-либо способом, например графически, приближенное значение корня x0 и подставим его в правую часть уравнения (2). Получим некоторое число x1= (x0) (3) Подставим теперь в правую часть уравнения (3) вместо x0 число x1. Получим новое число x2= (x1). Повторяя этот процесс, получим последовательность чисел xn= (xn-1) (n=1,2,…). Если эта последовательность сходится, то найдется число , которое и будет корнем уравнения (2). Итерационный процесс xn= (xn-1) сходится, если . Критерием окончания итерационного процесса является выполнение неравенства , где ε<1 погрешность вычислений. Рассмотрим реализацию алгоритма метода простых итераций в Mathcad на следующем примере. Найти действительные корни уравненияx-sin(x)=0.25 с точностью до трех значащих цифр. Установим формат чисел так, чтобы результаты вычислений отображались с нужным количеством знаков после десятичной точки (запятой). Для получения приближенного значения корня данного уравнения запишем его следующим образом: f(x):sin(x)+0.25 g(x):x Заметим, что функция f(x) является итерирующей функцией метода простых итераций. Построим графики функций f(x) и g(x), точка пересечения которых и даст приближенное значение корня исходного уравнений. Этим значением будет x0=1.2. Определим начальное значение для вычислений следующим образом: x0:1.2. Определим функцию первой производной итерирующей функции f(x) для проверки условия сходимости, вызвав, оператор дифференцирования из палитры вычислений (Calculus Palette): d(x): . Вычислим значение функции d(x) в точке x0=1.2. Так как d(1.2)=0.3624<1, можно продолжать вычисления. Определим дискретный аргумент i:=0..9, задающий количество вычисляемых значений xi. Определим функцию вычисления приближений методом последовательных приближений в векторной форме: xi+1:f(xi) Для получения вектора результатов в свободном месте рабочего пространства Mathcad напишите: x=. Обратим внимание на то, что начиная с четвертого значения элементы вектора результатов остаются неизменными до трех знаков после десятичной точки (запятой). Это говорит о том, что сходимость результата с точностью до трех знаков достигнута на пятой итерации. Введите условие оценки погрешности вычислений . Результат вычислений погрешности выведите на экран. Корнем уравнения будет x4=1.1719. Результат на экране: Система уравнений для поиска приближенного решения графическим способом. Графики функций f(x) и g(x). Точка пересечения этих графиков дает при-ближенное решение уравнения Начальное значение для вычисления приближений. П роверка условия сходимости приближений. Д искретный аргумент, задающий количество вычисляемых значений xi. Функция вычисления приближений. Вектор результатов Оценка погрешности вычислений Так как по условию погрешность вычислений не должна различаться в трех значащих цифрах после десятичной точки (ε4 и ε5 не различаются в трех цифрах после десятичной точки), в качестве корня уравнения выбираем x4 К орень исходного нелинейного уравнения. Задачи для самостоятельного решения. Методом простых итераций с точностью до трех значащих цифр решить следующие уравнения. x3-x-1=0 x5-x-0.2=0 Практическая работа №6Численное решение нелинейных уравнений в Mathcad (метод бисекции) Цель работы:научиться решать нелинейное уравнение в Mathcad, используя вычислительный алгоритм метода бисекции (половинного деления). Задание №1. Решить нелинейное уравнение методом бисекции. Метод бисекции (половинного деления) состоит в следующем. Пусть дано уравнение f(x)=0, (1) где f(x) непрерывная функция на [a, b] и f(a)f(b)<0. Требуется определить вещественные корни этого уравнения. Для нахождения корня уравнения на отрезке [a, b] нужно разделить этот отрезок пополам. Если , то является корнем уравнения. Если , то выбираем ту из половин отрезка [a, b], на концах которой функция f(x) имеет противоположные знаки. Новый, суженный отрезок [a1, b1] снова делим пополам и проводим то же рассмотрение и т. д. Рассмотрим реализацию алгоритма метода половинного деления в Mathcad на следующем примере. Найти действительный корень уравненияx4+2x3-x-1=0. Деление продолжать до получения отрезка длиной ε ≤ 10-3. Определите левую часть нелинейного уравнения как функцию f(x). Построим график функции f(x), точка пересечения которого с осью и даст приближенное значение корня исходного уравнения. Определим по графику значения концов отрезка, содержащего корень уравнения: a=0, b=1. Задайте значения концов отрезка [a, b] в векторной форме. Для этого, используя палитру векторов и матриц, получите, оператор вектора на два элемента и заполните его идентификаторами концов отрезка a0 и b0. При помощи клавиши пробела выведите курсор за знак оператора, нажмите клавишу :, введите еще один оператор вектора на два элемента и заполните его значениями концов отрезка: 0 и 1. Задайте дискретную переменную i (от 0 до 10), определяющую количество этапов деления отрезка [a, b], за которое мы рассчитываем получить решение уравнения. Определите формулы вычисления концов отрезка на каждом этапе деления его пополам. На отрезке [ai, bi] серединой будет точка . Если (знаки функции на концах разделенного отрезка разные), то начало нового отрезка для вычислений ai+1 совпадет с ai, т.е. ai+1=ai. В противном случае (знаки функции на концах разделенного отрезка одинаковые) ai+1 совпадет с точкой половинного деления отрезка, т.е. . Подобная операция необходима для другого конца отрезка [ai, bi], для bi. Если , то конец нового отрезка для вычислений bi+1 совпадет с точкой половинного деления отрезка, т.е. ; в противном случае bi+1 совпадет с концом отрезка [ai, bi], т.е. bi+1=bi. Если же , то точка будет являться корнем нелинейного уравнения. Для реализации описанного процесса в Mathcad запишем формулы для определения начала и конца разделенного отрезка, воспользовавшись условным оператором if в векторной форме. Такая форма записи позволяет в вычислениях Mathcad использовать результаты предыдущих операций. Введем оператор вектора на три элемента и заполним его идентификаторами искомых величин ai+1, bi+1, gi (gi для вычисления ). Введем знак присвоения и еще один оператор вектора на три элемента. Последний оператор заполните следующими формулами: Условный оператор if работает следующим образом. Если логическое выражение, записанное в скобках, истинно, то переменная слева от знака := принимает значение выражения или величины, стоящей первой после логического выражения, в противном случае переменной присваивается значение выражения, или величины, стоящей на втором месте после логического выражения. Чтобы увидеть результат вычислений, введите последовательно a=, b=, g=. Вектор a покажет начала всех разделенных отрезков, b концы этих отрезков. Вектор g содержит значения функции f(x) в серединах всех отрезков [a, b]. Среди значений вектора a или вектора b будет корень исходного уравнения. Определим корень уравнения следующим образом. Вычислим длину отрезка [ai, bi] i=0,…,10, определив ее как . Проанализируем значения вектора ε. Найдем элемент вектора, значение которого меньше заданной в условии задачи минимальной длины отрезка [ai, bi]. В нашем примере это значение элемента ε10. Корнем уравнения будет значение . Результат на экране: Л евая часть нелинейного уравнения, определенная как функция f(x). Локализация корня уравнения. Значения концов отрезка [a, b] в векторной форме Д искретная переменная i. Формулы для определения начала и конца отрезка и определения значения f(x) в середине отрезка. Значения длины вычисляемых отрезков. Р езультаты вычислений. Длина отрезка [a10, b10] < 10-3. З начение f(x) наиболее близкое к нулю. К орень уравнения, который можно принять для десяти этапов деления отрезка. Задачи для самостоятельного решения. Методом бисекции (половинного деления) уточнить корень уравнения. x3+x-1000=0 с точностью до 10-4. tg(x)=x на отрезке с точностью до 0.0001. Практическая работа №7Численное решение нелинейных уравнений в Mathcad (метод Ньютона) Цель работы:научиться решать нелинейное уравнение в Mathcad, используя вычислительный алгоритм метода Ньютона (метод касательных). Задание №1. Решить нелинейное уравнение методом Ньютона. Знаменитый метод Ньютона является одним из наиболее эффективных способов численного решения нелинейных уравнений. Этот метод состоит в следующем. Пусть дано уравнение f(x)=0, (1) где f(x) непрерывная функция, требуется определить вещественные корни этого уравнения с точностью ε. Расчетная формула метода Ньютона имеет следующий вид (2) Выберем каким-либо способом, например, графически, приближенное значение корня x0 и, подставляя его в правую часть уравнения (2), можем начать итерационный процесс вычисления корня уравнения. Условием завершения итерационного процесса является выполнение условия (3) В случае выполнения неравенства (3), корнем уравнения (1) будем считать значение xk+1. Рассмотрим реализацию алгоритма метода Ньютона в Mathcad на следующем примере. Найти действительные корни уравненияс точностью до трех значащих цифр. Установим формат чисел так, чтобы результаты вычислений отображались с нужным количеством знаков после десятичной точки (запятой). Преобразуем заданное уравнение к виду (1) и определим его правую часть как функцию f(x). Определим приближенное значение корня уравнения графически. Для этого построим график функции . Этим значением будет значение x=a в точке пересечения графика функции с осью абсцисс. Определим начальное значение для вычислений следующим образом: x0:a. Определим дискретный аргумент k:=0..9, задающий количество итераций (вычисляемых значений xk). Определим первую производную функции f(x) как функцию d(x): Определим вычислительную формулу Ньютона в векторной форме: Для получения вектора результатов в свободном месте рабочего пространства Mathcad напишите: x=. Введите условие оценки погрешности вычислений . Результат вычислений погрешности выведите на экран. Корнем уравнения будет x2=1.171. Результат на экране: Нелинейное уравнение определено в виде функции. Локализация корней уравнения графическим способом. Приближенное значения корня уравнения. К оличество итераций. Н ачальное значение неизвестного для решения уравнения. Вычислительная формула Ньютона. Результат вычислений. Расчет погрешности вычислений. Погрешность вычислений становится допустимой на второй итерации , поэтому допустимое решение получено на второй итерации . Задачи для самостоятельного решения. Используя метод Ньютона, найти с точностью ε=10-6 положительный корень уравнений |