Автор: Пользователь скрыл имя, 21 Декабря 2011 в 17:21, курсовая работа
С развитием промышленности возникает необходимость в автоматизации технологических процессов и производств. На данном этапе развития техники широкое применение находят роботы и робототехнические системы. Для управления производственными процессами в 70-е, 80-е годы стало возможным применение микропроцессорной техники. Развитие различных языков программирования (Fortran, Basic, Assembler, Pascal, C и т.д.) дает возможность разработки и внедрения объемных пакетов прикладных программ для управления сложными технологическими процессами и производствами. Пакеты прикладных программ дают возможность дистанционного управления и контроля сложных процессов с невозможным прямым вмешательством человека. Управляющая система намного быстрее и точнее выполняет поставленные задачи, не требуя при этом времени на отдых. Применение программного управления значительно увеличивает производительность труда. Первоначальные затраты материальных средств на установку и наладку микропроцессорного оборудования в процессе работы быстро окупаются. Это делает выгодным применение систем такого рода в производстве.
ВВЕДЕНИЕ 6
1. ВЫБОР И ОБОСНОВАНИЕ МЕТОДОВ РЕШЕНИЯ 7
1.1. Понятие машинного и реального времени 7
1.2. Дискретизация времени 7
1.3. Реализация временных задержек в программе 8
1.4. Решение квадратного уравнения 8
1.5. Метод Ньютона 9
1.6. Алгоритм Горнера 9
1.7. Построение графика 10
2. ТАБЛИЦА ИМЕН ПЕРЕМЕННЫХ 12
3. СХЕМЫ АЛГОРИТМОВ ПОДПРОГРАММ 13
3.1. Подпрограмма ввода данных 13
3.2. Подпрограмма решения нелинейного уравнения методом
Ньютона 13
3.3. Схема алгоритма подпрограммы вычисления наименьшего по
абсолютному значению корня квадратного уравнения 15
3.4. Схема алгоритма подпрограммы алгоритма Горнера 17
3.5. Схема подпрограммы вывода результатов 18
3.6. Схема алгоритма основной программы 19
4. ПОСТРОЕНИЕ ГРАФИКА С ВЫВОДОМ РЕЗУЛЬТАТА
РАСЧЕТА 22
4.1. Вывод промежуточных значений 22
4.2. Вывод графика временной функции 23
ЗАКЛЮЧЕНИЕ 24
СПИСОК ИСПОЛЬЗОВАНЫХ ИСТОЧНИКОВ 25
Если
D = 0, то корни квадратного уравнения являются
действительными, равными и вычисляются
по формуле:
Если
D< 0, то корни квадратного уравнения являются
комплексными сопряжёнными:
Модули комплексных
Если действительная часть комплексного числа отрицательна, т.е. данное число лежит во 2 или 3 четверти координатной плоскости, то модуль комплексного числа берётся со знаком минус.
Задано: , и . При использовании этого метода нелинейное уравнение должно быть приведено к виду .
Введем обозначения: - левая часть нелинейного уравнения; – первая производная от; .
Так как вычисления искомого значения производится в этом методе иначе, чем в методе простой итерации, то значения могут использоваться без индексов. Анализ нахождения искомого значения можно упростить. Это несложное доказательство оставляется студентам.
Итак, алгоритм решения:
Если условие выполняется, то - искомый корень, в противном случае следует повторить цикл с п.2.
Известно,
что полином в общем виде записывается
следующим образом:
Горнер
предложил переиндексировать
Далее
он предложил разложить многочлен
и представить в виде:
Исходя из такого представления, он предложил алгоритм, который еще называют схемой Горнера:
-все коэффициенты представить в виде элементов массива;
-должны учитываться все коэффициенты. Если они отсутствуют в полиноме, то их надо все равно использовать, считая их равными нулю;
-до цикла FOR-NEXT взять значения y=A(1);
-цикл
по управляющей переменной
-в цикле использовать формулу:
Y=Y*X+A(I) .
Если все значения Y надо сохранить, то Y следует организовать тоже как массив.
Что касается построения графиков функций, то можно использовать графические операторы PSET и LINE. Однако при построении графиков необходимо всегда решать вопрос, связанный с масштабированием графиков. Во-первых, при построении графиков на компьютере пользователь всегда имеет дело с дискретными функциями: yn = f(ndx) или yn = f(nTk), где dx – шаг изменения аргумента; Tk – период квантования, который является тоже шагом по аргументу, которым является время t = nTk.
Необходимо всегда оценивать минимальное и максимальное значение функции: y0(min) при n=0 и yn(max) при nmax.
Кроме того, необходимо выбрать начальную точку (a, b) для построения графика, определить границы окончания графика справа и сверху, а потом рассчитать масштаб по аргументу и по функции. Для пояснения на рисунке 1.1 показан произвольный график:
Рисунок
1.1 — Выбор масштаба
Если исходить из разрешающей способности 640х480 пикселей (12 режим экрана монитора), то:
- количество пикселей по оси Х: 640 – а – а1;
- количество пикселей по оси У: b – b1,
где а1 и в1 – отступы соответственно с правой и верхней сторон экрана, как показано на рисунке 1.1
Тогда масштабы по осям Х(Мх) и Y(Му) равны:
.
С учетом Мх иМу координаты точек для оператора PSET будут следующими:.
В этих формулах учитывается, что по оси абсцисс количество пикселей возрастает при увеличении n, а количество пикселей по оси y убывает.
Для проверки правильности выбора а2 и в2 надо подставить в эти формулы значения nmax и ymax вместо n и y. При этом a2 = 640 – a1, а b2 = b1, то есть, последние значения будут соответствовать значениям отступов. Таким образом, при построении графика следует использовать PSET с координатами (a2,b2):
.
В
таблице 2.1 приведены глобальные переменные
программы и их функциональное значение.
Таблица
2.1 — Таблица переменных программы
Имя | Функциональное значение |
Глобальные массивы | |
Y | Значения временной функции |
Глобальные переменные | |
t0 | Начальное время |
Tkon | Конечное время |
Tk | Время квантования |
Xa, Xb | Левый и правый пределы диапазона, в котором лежит начальное значение корня нелинейного уравнения |
E | Погрешность вычисления корня нелинейного уравнения |
a, b, c, d | Коэффициенты временной функции |
a1, b1, c1 | Коэффициенты квадратного уравнения |
P | Номер пункта меню |
Схема
алгоритма подпрограммы ввода данных
представлена на рисунке 3.1
Рисунок
3.1 — Схема алгоритма подпрограммы ввода
Блок 02 присваивает переменным исходные значения
Подпрограмма
решения нелинейного уравнения
, методом Ньютона, представлена на рисунках
3.2 и 3.3
Рисунок
3.2 — Схема алгоритма подпрограммы решения
нелинейного уравнения методом Ньютона
Рисунок
3.3 — Продолжение схемы алгоритма
подпрограммы решения нелинейного уравнения
методом Ньютона
Блок
02 служит для нахождения начального значения
Х. Блок 03 вычисляет значение функции и
значение производной соответственно.
Блок 04 служит для проверки условия выхода
из цикла. Блок 05 служит для приближения
значения X, к значению удовлетворяющему
Блоку 04.
Схема
алгоритма подпрограммы вычисления
наименьшего по абсолютному значению
корня квадратному уравнения представлена
на рисунке 3.4 – 3.5
Рисунок 3.4 — Схема алгоритма подпрограммы вычисления наименьшего по абсолютному значению корня квадратного уравнения
Рисунок
3.5 — Продолжение схемы алгоритма подпрограммы
вычисления наименьшего по абсолютному
значению корня квадратного уравнения
Блок
02 вычисляет дискриминант квадратного
уравнения. Блок 03 в зависимости
от значения дискриминанта передает управление
Блокам 04, 06, 07. Блок 08 служит для анализа
абсолютных значений корней. Блоки 09, 10
служат для присвоения переменной Z минимального
по абсолютному значению корня квадратного
уравнения. Блок 04 производит вычисление
модуля комплексного числа. Блок 06 служит
для вычисления одинаковых действительных
корней. Блок 05 присваивает значению M
наименьший корень.
Схема
алгоритма подпрограммы алгоритма
Горнера представлена на рисунке 3.6
Рисунок
3.6 — Схема алгоритма подпрограммы алгоритма
Горнера
Блок 02 служит для задания коэффициентов полинома а(1-5). Блок 03 организует цикл по переменной Т с шагом Tk. Блок 04 присваивает значение первого коэффициента переменной y1. Блок 05 организует цикл по переменной I. Блок 06 вычисляет значение полинома при значении Т, взятого из Блока 03. Блок 07 присваивает значение полинома массиву Y(N), а также увеличивает N на единицу.
Схема
подпрограммы вывода результатов приведена
на рисунке 3.7–3.8
Рисунок
3.7 — Схема алгоритма подпрограммы вывода
результатов
Рисунок
3.8 — Продолжение схемы алгоритма подпрограммы
вывода результатов
Блок 02 выводит значение корня нелинейного уравнения, решённого методом Ньютона, а также наименьший по абсолютному значению корня квадратного уравнения. Блок 03 организует цикл для вывода значений функции Y(t), а также самого аргумента t. Блок 04 выводит на экран значения Y(t), а также значение переменной t. Блок 05 прибавляет шаг квантования Tkк переменной t и отправляет обратно в Блок 03. Блок 06 организует цикл для вывода коэффициентов Горнера. Блок 07 выводит i-й коэффициент Горнера.
Схема
алгоритма основной программы представлена
на рисунке 3.9– 3.11
Рисунок
3.9 — Схема алгоритма основной программы
Рисунок
3.10 — Продолжение схемы алгоритма основной
программы