- •Оглавление
- •Лабораторная работа № 2 «Численное интегрирование»
- •1. Цель работы.
- •2. Основные теоретические сведения.
- •1). Метод прямоугольников
- •2) Метод трапеций
- •3) Метод парабол
- •3. Порядок выполнения работы
- •Пример выполнения работы
- •Блок-схема
- •Вид программы на языке qbasic
- •Результаты работы программы в Qbasic
- •Результат расчета в ппп эврика.
- •Методические указания к выполнению лабораторной работы на пк
- •Контрольные вопросы
- •Варианты заданий для самостоятельного решения Задание
- •Лабораторная работа № 3 «Уточнение корня уравнения»
- •1. Цель работы
- •2. Основные теоретические положения
- •Рассмотрим следующие методы уточнения корня уравнения:
- •1). Метод дихотомии
- •Как написать программу на QuickВаsic, соответствующую этому методу?
- •2). Метод касательных
- •3). Метод простой итерации
- •4). Метод хорд
- •3. Порядок выполнения работы
- •Пример выполнения лабораторной работы.
- •Блок-схема
- •Вид программы на языке qbasic
- •Результаты работы в qbasic
- •Результаты работы вEureka.
- •Контрольные вопросы
- •Варианты заданий для самостоятельного решения Задание.
- •Лабораторная работа № 4 «Методы численного решения дифференциальных уравнений. Уравнения 1-го порядка» Цель работы
- •Теоретические сведения Решение дифференциальных уравнений
- •Метод Эйлера
- •Метод Эйлера - Коши
- •Метод Руге - Кутта
- •Правило Рунге - Ромберга
- •Пример решения поставленной задачи
- •Блок-схема алгоритма решения
- •Запись всех подпрограмм можно осуществить через меню оболочки qBasic:
- •Вид программы на языкеqbasic
- •Построение в Excel графика решений
- •Контрольные вопросы
- •Варианты заданий к лабораторной работе
- •Лабораторная работа № 6Оптимизация технологического процесса.
- •Алгоритм нахождения максимума функции
- •Блок-схема алгоритма имеет вид:
- •Можно воспользоваться и следующим алгоритмом:
- •Блок – схема решения задачи имеет вид:
- •Методы оптимизации функций одной переменной Метод равномерного поиска
- •Метод поразрядного приближения
- •Метод дихотомии
- •Метод Фибоначчи
- •Алгоритм метода Фибоначчи состоит из следующих этапов:
- •Метод золотого сечения
- •Данный метод реализуется следующим алгоритмом:
- •Использование пппEurekaиExcelпри решении задач оптимизации
- •Содержание отчета
- •Пример выполнения лабораторной работы
- •Блок-схема
- •Программа на алгоритмическом языке qbasic
- •Результат в Qbasic
- •Решение задачи с использованием ппп Eureka
- •Задания для выполнения лабораторной работы «Оптимизация технологического процесса»
- •Контрольные вопросы
- •Лабораторная работа № 7 Работа с файлами последовательного доступа
- •В соответствии со способом доступа к файлам они делятся на два вида.
- •Операции над файлами
- •Открытие файла
- •Запись в файл
- •Чтение из файла
- •Изменения данных в файле
- •Добавление данных в файл
- •Порядок выполнения работы
- •Содержание отчета
- •Пример решения задачи
- •Программа на языке qBasic
- •Результат работы программы
- •Контрольные вопросы
- •Варианты заданий к лабораторной работе
- •Список литературы
Алгоритм нахождения максимума функции
Простейшая задача нахождения максимума функции решается по следующему алгоритму:
Задаются границы a и b, в пределах которых имеется максимум функции.
Интервал [a,b] разбивается на определенное количество шагов.
Функция табулируется в пределах заданного интервала, и каждое вычисленное значение функции сравнивается с максимальным (заданным до начала табулирования).
Находится максимальное значение функции на заданном интервале с определенным шагом и выводится на печать.
Блок-схема алгоритма имеет вид:
Рис. 4. Блок – схема алгоритма нахождения максимума функции
Естественно, что с уменьшением шага изменения аргумента точность вычисления максимума увеличивается.
Можно воспользоваться и следующим алгоритмом:
Найти значение максимума по алгоритму, представленному выше.
Для дальнейшего рассмотрения выбрать отрезок [xmax-dx, xmax+dx] и выполнить вычисление максимума с шагом, например, dx/10.
Сравнить два найденных значения.
max1 – значение максимума с шагом dx и max2 – значение максимума с шагом dx/10. Если |max2-max1| <=E (где Е – заданная степень точности вычисления), то закончить решение задачи и max2 вывести на печать, если нет, то вычисление продолжить дальше, повторяя п.2.
Такую задачу удобнее решать, используя процедуру нахождения максимального значения функции.
Блок – схема решения задачи имеет вид:
Рис. 5. Блок – схема алгоритма нахождения максимума функции
Методы оптимизации функций одной переменной Метод равномерного поиска
Этот метод основан на том, что переменной x присваиваются значения x+∆x с шагом ∆x = const и вычисляются значения F(x). Если F(x n+1)>F(xn), переменной x даётся новое приращение. Как только F(xn+1)станет меньше F(x) поиск останавливается. При малой заданной погрешности этот метод неэкономичен по затратам машинного времени.
Метод поразрядного приближения
Этот метод является разновидностью метода равномерного поиска и реализуется следующим алгоритмом:
Задаём начальное приближение x=x₀ слева от максимума F(x) и вычисляем F(x₀). Задаём D=h, где h=∆x – начальный шаг поиска.
Полагаем, что G=F(xn), где вначале F(xn)=F(x₀), задаём x=x+D и вычисляем F(x n+1)=F(x).
Проверяем условие F(x n₊₁)>G; если оно выполняется, идём к п.2, если нет, то к п.4.
Полагаем D=-D/4. Проверяем условие |D|>E/4, где E – заданная погрешность вычисления xn в точке максимума. Если оно выполняется, идём к п.2, т.е. обеспечиваем поиск максимума в другом направлении с шагом в 4 раза меньше прежнего. Если данное условие выполняется, процесс вычисления заканчиваем.
Метод дихотомии
Метод дихотомии (деление интервала поиска [a, b] пополам) реализуется следующим алгоритмом:
Проверяем условие |b-a|<2E, где E – заданная погрешность вычисления xn. Если это условие выполняется, идём к п.6; если не выполняется, идём к п.2.
Делим интервал поиска [a, b] пополам и вычисляем две абсциссы, симметрично расположенные относительно точки
x=(a + b)/2
x1=(a + b - E)/2 и x2=(a + b + E)/2
Для этих значений x вычисляем F(x₁)>F(x₂).
Проверяем условие F(x₁)>F(x₂). Если оно выполняется, полагаем b=x₂ и идём к п.1. Если не выполняется, идём к п.5.
Полагаем a=x₁ и идём к п.1.
Выводим на печать xn=(a+b)/2 и вычисляем F(xn).