- •19.0. Введение
- •19.1. Моделирование как метод познания
- •20.1. Формы представления моделей
- •20.2. Классификация математических моделей
- •21.1. Математическая модель системы (объекта)
- •21.2. Методы математического моделирования
- •21.3. Технология математического моделирования системы (объекта)
- •1 Этап. Формулирование целей и задач моделирования, выявление проблем, описание объекта исследования.
- •2 Этап. Изучение априорной информации об объекте исследования.
- •3 Этап. Формализация постановки задачи: формальное описание целей и задач моделирования, формулировка требований.
- •4 Этап. Стратегическое и тактическое планирование эксперимента с объектом.
- •5 Этап. Экспериментирование с объектом.
- •6 Этап. Идентификация объекта.
- •7 Этап. Оценка адекватности модели, ее свойств, устойчивости, областей применения.
- •8 Этап. Решение задач моделирования, подведение итогов.
- •21.4. Контрольные вопросы и задания
- •22.1. Понятие информационной модели
- •22.2. Этапы моделирования
- •22.3. Типовые информационные модели
- •Графы, сети, деревья
- •23.1. Понятие алгоритма
- •23.2. Свойства алгоритма
- •23.3. Данные алгоритмов
- •23.4. Элементарные алгоритмические действия
- •23.5. Способы записи алгоритмов
- •24.0. Введение
- •25.0. Введение
- •26.0. Введение
- •27.0. Введение
- •28.1. Вычисление конечных и бесконечных сумм и произведений
- •28.2. Решение уравнений итерационными методами
- •28.3. Расчет таблиц функциональных зависимостей
- •28.4. Подсчет числа положительных, отрицательных и нулевых элементов массивов
- •28.5. Расчет модуля вектора и нормы матрицы
- •28.6. Расчет среднего и дисперсии элементов в массивах
- •28.7. Поиск минимальных или максимальных значений в массивах
- •28.8. Алгоритмы упорядочивания элементов в массивах
- •28.9. Умножение матрицы на вектор и матрицы на матрицу
- •28.10. Возведение квадратной матрицы в целую степень
- •28.11. Исключение элементов массивов
- •28.12. Расчет определителя квадратной матрицы
- •28.13. Транспонирование матриц
- •29.1. Что такое язык программирования?
- •29.2. Низкоуровневые языки программирования
- •29.3. Языки высокого уровня
- •Навигация по разделам:
- •29.3.1. Процедурные языки программирования
- •29.3.2. Функциональные языки программирования
- •29.3.3. Логические языки программирования
- •30.0. Введение
- •31.0. Введение
- •31.1. Постановка и формализация задачи
- •31.2. Разработка алгоритмов решения задачи
- •31.2. Разработка алгоритмов решения задачи
- •31.4. Анализ результатов
- •31.5. Сопровождение программ
- •32.0. Введение
- •33.1. Технология структурного программирования
- •33.2. Структурные методы анализа и проектирования по
- •33.3. Модульное программирование
- •Навигация по разделу
- •33.3.1. Hipo - диаграмма
- •33.3.2. Метод нисходящего проектирования
- •33.3.3. Метод расширения ядра
- •33.3.4. Метод восходящего проектирования
- •33.4. Базовые управляющие структуры структурного программирования
- •33.5. Проектирование и тестирование программы
- •33.6. Подпрограммы, процедуры и функции
- •Навигация по разделу:
- •33.6.1. Основные понятия и терминология
- •33.6.2. Локальность
- •33.6.3. Параметры процедуры
- •34.1. Методология объектно-ориентированного программирования
- •34.2. Объектно-ориентированные методы анализа и проектирования по
- •34.3. Основные принципы построения объектной модели
- •34.4. Основные элементы объектной модели
- •34.5. Пример разработки консольного приложения в технологии объектно-ориентированного подхода
- •Навигация по разделу:
- •34.5.1. Диаграмма прецендентов uml
- •34.5.2. Диаграмма последовательности uml для прецедента
- •34.5.3. Диаграмма классов uml для прецендента «перевести р-ичную строку в число»
- •34.5.4. Текст приложения на языке Object Pascal
- •35.0. Введение
- •35.1. История развития бд
- •35.2. Классификация бд
- •Навигация по разделу:
- •35.2.1. Основные функции субд
- •36.1. Основные понятия бд
- •36.2. Основные понятия реляционной модели бд
- •36.3. Предпроектное обследование предметной области. Связи таблиц
- •36.4. Нормализация отношений
- •36.5. Общие сведения о ms Access
- •36.6. Приложение
- •36.6. Приложение
- •37.2. Связь между таблицами и целостность данных
- •37.3. Создание запросов в ms access
- •Навигация по разделу:
- •37.3.1. Запросы на выборку
- •37.3.2. Запросы с параметрами
- •37.2.3. Запросы с вычислениями
- •37.2.4. Итоговые запросы
- •37.2.5. Перекрестные запросы
- •37.4. Формы
- •37.5. Отчеты
- •38.0. Введение
- •38.1. Различные подходы к построению систем ии
- •38.2. Экспертные системы
- •Методы, основанные на правилах.
- •Методы, основанные на фреймах.
28.1. Вычисление конечных и бесконечных сумм и произведений
← 27.0. Введение |
28.2. Решение уравнений итерационными методами → |
Для расчета суммы (гдеCk - некоторое слагаемое, зависящее от индекса суммирования k) рационально использовать цикл по переменной – индексу суммирования. Блок схема алгоритма представлена на рис. 28.1 а.
На том же рисунке представлена блок-схема расчета произведения , гдеCk - сомножитель, зависящий от индекса суммирования k.
Эти алгоритмы очень похожи. Только при вычислении суммы переменной S, накапливающей ее, первоначально присваивается нулевое значение, а переменной P, накапливающей произведение – единичное. В теле цикла производится расчет слагаемого (сомножителя), а за-тем суммированием (умножением) накапливается сумма (произведение).
Вычисление бесконечных сумм возможно только для сходящихся рядов, например, . С ростомk каждое слагаемое должно уменьшаться и сумма стремиться к определенному значению. Цикл суммирования можно прекратить, когда очередное слагаемое по абсолютной величине станет меньше заданной величины . Так как в этом случае обычно нельзя заранее вычислить число повторений, следует использовать цикл с предусловием или цикл с послеусловием. Их блок-схемы приведены на рис. 28.2.
Перед началом циклов выполняются начальные установки: счетчик циклов k – индекс суммирования и переменная S, накапливающая сумму, обнуляются. В теле цикла сначала индекс суммирования увеличивается на единицу, а затем вычисляется слагаемое и накапливается сумма. Условием повторения цикла является | Ck| ≥ ε. Перед началом цикла с предусловием переменной Ck - слагаемому, значение которого вычисляется в теле цикла, необходимо присвоить такое начальное значение, чтобы условие повторения цикла выполнялось. В цикле с послеусловием этого не требуется.
Аналогично можно представить алгоритмы расчета бесконечных произведений, сходящихся к определенному значению.
← 27.0. Введение |
28.2. Решение уравнений итерационными методами → |
28.2. Решение уравнений итерационными методами
← 28.1. Вычисление конечных и бесконечных сумм и... |
28.3. Расчет таблиц функциональных зависимостей → |
Циклы с пред- и послеусловием используются при решении уравнений вида F(x) = 0 итерационными методами. Левая часть уравнения F(x) предполагается такой, что аналитическое решение получить невозможно. Численные итерационные методы позволяют получить решение методом последовательных приближений – итераций, на каждой из которых находится новое, уточненное решение. Задав нулевое приближение корня x0, по некоторой итерационной формуле вычисляется приближение x1.По нему, используя ту же итерационную формулу вычисляется x2, затем – x3 и так далее. Итерации останавливаются, когда разница между двумя последними найденными значениями станет по абсолютной величине меньше заданной погрешности ε: | xk – xk-1 | < ε. Последнее значение xk принимается за искомое решение.
Метод простых итераций требует преобразования уравнения F(x) = 0 к виду x = f(x). Из этого вида следует итерационная формула:
xk = f(xk-1),
где k = 1, 2, 3, … - индекс итерации. Метод простых итераций обеспечивает сходимость вычислений к корню, если на интервале итераций выполняется условие .
Блок-схема метода простых итераций на основе цикла с послеусловием приведена на рис. 28.3. Итерационная формула разбивается на три части, сначала на итерации по входящему в нее значению x вычисляется новое приближение корня xk, затем - разность dx = xk – x, а далее выполняется переприсвоение x = xk для выполнения новой итерации. Разность dx используется для проверки условия повторения итераций.
В реальной практике для решения нелинейных уравнений чаще всего используется метод Ньютона. Он использует следующую итерационную формулу:
,
где F'(x) - производная левой части уравнения. Метод обеспечивает быструю сходимость итераций, если на их интервале первая и вторая производные левой части уравнения не изменяют знаки. Его блок-схема представлена на рис. 28.4. Алгоритм реализован на основе цикла с послеусловием, хотя может быть использован и цикл с предусловием. Тело цикла реализует итерационную формулу и не требует пояснений. Логическое выражение при завершении цикла состоит из двух условий, соединенных по ИЛИ. Цикл повторяется, если приращение неизвестной больше или равно погрешности εx, или левая часть уравнения по абсолютной величине больше или равна погрешности εf. Использование двух погрешностей позволяет, кроме нахождения корня с заданной погрешностью, добиться и малой невязки левой части уравнения с нулем.
← 28.1. Вычисление конечных и бесконечных сумм и... |
28.3. Расчет таблиц функциональных зависимостей |