
- •Белорусский национальный технический университет
- •Отчёты по лабораторным работам
- •Пояснительная записка
- •Тема: “Построение графика временной функции”
- •Задание
- •Построение графика с выводом результата
- •Введение
- •Выбор и обоснование методов решения
- •Понятие машинного и реального времени
- •Дискретизация времени
- •Реализация временных задержек в программе
- •Метод Крамера для решения системы линейных уравнений
- •Метод Ньютона
- •Алгоритм (схема) Горнера
- •Построение графика
- •Схемы алгоритмов подпрограмм
- •Подпрограмма решения нелинейного уравнения методом Ньютона
- •Построение графика с выводом результата расчета
- •Вывод промежуточных значений
- •Вывод графика временной функции
- •Приложение а. Листинг программы
Выбор и обоснование методов решения
Понятие машинного и реального времени
Реализацию любой программы можно проводить по двум путям: либо в темпе быстродействия ЭВМ (с учётом быстродействия языка программирования), либо в реальном масштабе времени. При этом время задержки напрямую зависит от частоты процессора, и эта программа может наиболее объективно использоваться на той ЭВМ, для которой она была написана. Машинное время является относительным, т.к. зависит от быстродействия ЭВМ, от используемого языка, от сложности алгоритма и т.д.
Исследователь должен уметь связывать последовательность результатов с реальным временем, проводить эксперимент в реальном времени. Моделирование в реальном времени дает возможность оценивать эффективность алгоритмов для работы в реальных системах.
Дискретизация времени
При исследовании блоков и систем во временной области на ЭВМ, в частности микроЭВМ, непрерывные процессы заменяются на дискретные. При этом временной интервал 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 следует организовать тоже как массив.