русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод простой итерации


Дата добавления: 2015-07-23; просмотров: 5291; Нарушение авторских прав


 

Для использования метода итерации[1] исходное нелинейное уравнение f(х) = 0 заменяется равносильным:

x = j(x). (4)

Пусть известно начальное приближение корня х = х0. Подставляя это значение в правую часть уравнения (4), получим новое приближение:

 

х1 = j(х0). (5)

 

Рис. 15. Графическая схема алгоритма метода Ньютона

 

Подстановка нового значения корня в уравнение (4) дает возможность получить последовательность значений:

(6)

Процесс сходимости метода итераций по «лестнице» представлен на рис. 16, а, по «спирали» - на рис. 16, б.

Построим на плоскости хОу графики функций у = х и у = j(х). Каждый действительный корень уравнения (4) является абсциссой точки пересечения М кривой у = j(х) с прямой у = х (см. рис. 16, а).

 

 

 

Рис. 16. Геометрическая интерпретация метода итераций

 

От некоторой точки А0 [x0, j (x0)] строим ломаную линию А0В1А1В2А2... («лестница»), звенья которой попеременно параллельны осям Ох и Оу. Вершины А0, А1, А2, ... лежат на кривой у = j (х), а В1, В2, В3 … - на прямой у = х. Общие абсциссы точек А1 и В1, А2 и В2, … представляют собой соответственно последовательные приближения х1, х2, … корня .

Возможен также другой вид ломаной - А0В1А1В2А2 ... – «спираль» (см. рис. 16, б).

Решение в виде «лестницы» получается, если производная j¢(х) положительна, а в виде «спирали», если j¢ (х) отрицательна.

Алгоритм, реализующий метод итераций, представлен на рис. 17.

 

4.1.4. Встроенные функции Mathcad для поиска корней уравнений

4.1.4.1. Функция root. Для численного решения одного уравнения с одним неизвестным используется функция root(f(x), x). Аргументы этой функции: f(х) – выражение, для которого производится поиск корней, х – аргумент (независимая переменная) функции.



Для поиска корней с помощью функции root необходимо присвоить начальное значение аргументу функции. Результатом работы функции root является возврат значения переменной, при котором выражение обращается в ноль.

Пример 4.Найти корень уравнения x3 - ex = 0.

Решение:

x:=3 – начальное значение переменной;

y:= root(x3 - ex, x);

y = 1.857 – корень уравнения.

 

 

Рис. 17. Графическая схема алгоритма метода итераций

 

В случае применения функции с несколькими корнями необходимо использовать различные начальные приближения. Значения начальных приближений могут быть определены при анализе графика функции.

Точность поиска значения определяется встроенной переменной TOL (точность), значение которой можно изменять с помощью пункта меню Математика - Параметры

В случае, если Mathcad не может определить значение корня, то появляется сообщение об ошибке «отсутствует сходимость».

Подобное сообщение появляется в следующих случаях:

- уравнение не имеет корней;

- корни уравнения далеки от начального приближения;

- выражение имеет локальные максимумы или минимумы между начальным приближением и корнями;

- выражение имеет разрывы между начальным приближением и корнями;

- выражение имеет комплексный корень, но начальное приближение было вещественным (или наоборот).

4.1.4.2. Функция until. Функция until(x, z) позволяет остановить вычисления при выполнении определенного условия: ее первый аргумент должен включать в себя дискретную переменную. Mathcad будет выполнять вычисления для последовательных значений дискретного аргумента до тех пор, пока первый аргумент until не станет отрицательным. Когда это случается, Mathcad останавливает вычисления.

Функция until(x,z) возвращает z до тех пор, пока значение x положительно (х -переменная, принимающая дискретные значения).

Для определения индекса последнего элемента в векторе х служит функция last(x).

Функция until полезна в итерационных процессах с определенным условием сходимости.

Пример 5. Определить корень уравнения методом итерации с использованием функции until.

Решение:

f(x) := ln(x) - x + 1.8 - исходное уравнение;

f1(x) := ln(x) + 1.8 - уравнение вида j(х);

x0 := 2 - начальное приближение (определяется по графику);

e := 0.001 заданная точность;

n := 100 предположительное число итераций;

i:= 1, 2, ... n-переменная, определяющая число итераций;

x1 := f1(x0) - определения первого приближения по методу итерации ;

xi+1 := until(|xi-xi-1|-e, f1(xi)) - реализация итерационного процесса;

i := last(x) - определение числа итераций, за которое сходится итерационный процесс;

i= 9 -число итераций;

xi-1 = 2.846 - корень уравнения.

Чтобы записать индекс для индексированной переменной (например, x1) нужно воспользоваться соответствующей кнопкой на панели инструментов Матрица (рис. 18, а): на рис. 18, б - кнопками «Матрица или вектор», «Нижний индекс», «Обращение», «Определитель» соответственно; на рис. 18, в - «Век-торизация», «Выделить столбец», «Транспонирование».

 

а б в

Рис. 18. Панель инструментов Матрица

 

 

Рис. 19. Решение уравнения методом Ньютона

 

Пример, приведенный на рис. 19, демонстрирует выполнения задания в системе Mathcad. Для решения используется функция until, одновременно выполняется проверка итерационного процесса на сходимость. Вычисления продолжаются до тех пор, пока выполняется условие |xi –xi-1| ³ e. Использование функции last позволяет определить размер массива вычисленных значений до момента остановки вычислений.

 

Пример выполнения работы

 



<== предыдущая лекция | следующая лекция ==>
Метод Ньютона | Лабораторная работа 4


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.938 сек.