- •Белорусский национальный технический университет
- •Отчёты по лабораторным работам
- •Пояснительная записка
- •Тема: “Построение графика временной функции”
- •Задание
- •Построение графика с выводом результата
- •Введение
- •Выбор и обоснование методов решения
- •Понятие машинного и реального времени
- •Дискретизация времени
- •Реализация временных задержек в программе
- •Метод Крамера для решения системы линейных уравнений
- •Метод Ньютона
- •Алгоритм (схема) Горнера
- •Построение графика
- •Схемы алгоритмов подпрограмм
- •Подпрограмма решения нелинейного уравнения методом Ньютона
- •Построение графика с выводом результата расчета
- •Вывод промежуточных значений
- •Вывод графика временной функции
- •Приложение а. Листинг программы
Выбор и обоснование методов решения
Понятие машинного и реального времени
Реализацию любой программы можно проводить по двум путям: либо в темпе быстродействия ЭВМ (с учётом быстродействия языка программирования), либо в реальном масштабе времени. При этом время задержки напрямую зависит от частоты процессора, и эта программа может наиболее объективно использоваться на той ЭВМ, для которой она была написана. Машинное время является относительным, т.к. зависит от быстродействия ЭВМ, от используемого языка, от сложности алгоритма и т.д.
Исследователь должен уметь связывать последовательность результатов с реальным временем, проводить эксперимент в реальном времени. Моделирование в реальном времени дает возможность оценивать эффективность алгоритмов для работы в реальных системах.
Дискретизация времени
При исследовании блоков и систем во временной области на ЭВМ, в частности микроЭВМ, непрерывные процессы заменяются на дискретные. При этом временной интервал L представляется как совокупность дискретных интервалов:
,
где Tk – период квантования по времени непрерывной функции;
n – количество шагов или квантов.
Количество квантов выбирается не произвольно, а исходя из максимальной частоты процесса и допустимой погрешности при моделировании.
Реализация временных задержек в программе
Можно выделить два основных способа реализации временных задержек в программе. Первый – самый простой – состоит в том, чтобы прямо указать программе, сделать паузу (например, оператором DELAY). Второй способ – организовать цикл, внутри которого выполняется арифметическая операция, абсолютно не влияющая на результат выполнения программы.
Метод Крамера для решения системы линейных уравнений
Система линейных уравнений:
a 1x + b1x2= c1
a2x + b2x2 = c2 ,
Имеет одно решение (x1, x2), если система является невырожденной т.е. выполняется неравенство:
a1b2-a2b1≠0,
Тогда решение можно найти по общим формулам:
Метод Ньютона
Задано: , и . При использовании этого метода нелинейное уравнение должно быть приведено к виду .
Введем обозначения: - левая часть нелинейного уравнения; – первая производная от ; .
Так как вычисления искомого значения производится в этом методе иначе, чем в методе простой итерации, то значения могут использоваться без индексов. Анализ нахождения искомого значения можно упростить. Это несложное доказательство оставляется студентам.
Итак, алгоритм решения:
Задаем значение .
Вычисляется .
Вычисляется .
Определяется .
Вычисляется .
Проверяется условие .
Если условие выполняется, то - искомый корень, в противном случае следует повторить цикл с п.2.
Алгоритм (схема) Горнера
Известно, что полином в общем виде записывается следующим образом:
.
Горнер предложил переиндексировать коэффициенты многочлена:
.
Далее он предложил разложить многочлен и представить в виде:
.
Исходя из такого представления, он предложил алгоритм, который еще называют схемой Горнера:
-все коэффициенты представить в виде элементов массива;
-должны учитываться все коэффициенты. Если они отсутствуют в полиноме, то их надо все равно использовать, считая их равными нулю;
-до цикла FOR-NEXT взять значения y=A(1);
-цикл по управляющей переменной организовывать с I=2 до X+1;
-в цикле использовать формулу:
Y=Y*X+A(I).
Если все значения Y надо сохранить, то Y следует организовать тоже как массив.