Цифровые методы исследования
Цифровое моделирование.В настоящее время в качестве моделирующих средств используются цифровые вычислительные машины (ЦВМ) в которых моделируемая система представляется в виде машинной программы, имитирующей процессы, протекающие в реальной системе. Такая имитация процесса, называемая цифровым моделированием, позволяет создавать модели самых разнообразных систем, функционирование которых может быть описано средствами математики (например, в форме дифференциальных или алгебраических уравнений). Поэтому цифровое моделирование можно применять для изучения производственных и экономических систем, сетей транспорта и связи, сложных технических комплексов, биологических систем и любых других процессов.
Применительно к приведенному выше примеру цифровая модель реализуется в форме компьютерной программы, осуществляющей процесс прямого решения уравнения маятника методом вычислительной математики (с помощью средств вычислительной техники).
Общее решение однородного дифференциального уравнения второго порядка с постоянными коэффициентами (являющегося математической моделью маятника),
где p и q – коэффициенты, отражающие свойства моделируемого процесса, в зависимости от значений корней k1, k2 его характеристического уравнения
k2 + pk + q = 0
будет иметь вид:
если
если
если
где С1 и С2 -постоянные, определяемые из начальных условий;
k1 и k2 -корни характеристического уравнения х -время.
Результат решения, в случае его осуществления цифровой машиной под управлением описывающей этот алгоритм программе, может быть получен как в форме таблицы значений, так и в виде графика. Результат решения уравнения
k2 + k + 3 = 0
(т.е. для случая p=1, q=3)при С1 = С2 =10, х=1,2, …15 показан на графике.
Цифровые вычислительные машины. Как следует из сказанного, в отличие от АВМ цифровые вычислительные машины оперируют не непрерывными функциями, а наборами цифровых величин, принимающими ряд отдельных (дискретных) численных значений и представленными в виде электрических импульсов или состояний элементов схем. Процесс решения задачи на такой машине представляет собой последовательность элементарных арифметических операций: сложения, вычитания, умножения, деления, которая задается в составленной заранее программе вычислений.
Таким образом, если АВМ в процессе решения устанавливает требуемую зависимость между некоторыми функциями, определенными на всем множестве точек данного отрезка оси независимой переменной, то ЦВМ устанавливает зависимость между функциями, определенными на дискретном множестве точек оси независимой переменной, разделенных конечными интервалами. На протяжении каждого такого интервала за исключением его границ функция не определена и цифровая машина не дает никаких сведений как о своем состоянии, так, следовательно, и о состоянии исследуемой системы. Поэтому при моделировании различных процессов на ЦВМ непрерывные функции представляются наборами дискретных величин (чисел), которыми и манипулирует машина. Следовательно, ЦВМ оперируют величинами, представленными в цифровой форме, причем числа представляются в них в виде последовательностей цифр, а функции - в виде последовательностей чисел. Для изображения каждой цифры используется наборы элементов, каждый их которых может находиться в одном из нескольких (обычно двух) резко различных состояний. Каждому состоянию такого набора элементов поставлена в соответствие определенная цифра. Для изображения числа служит последовательность таких наборов (кодов). Таким образом процесс решения сводится к выполнению последовательностей операций над кодами, изображающими исходные числа (точнее, над наборами состояний этих элементов), в порядке, заданном программой работы машины.
Таким образом, для того чтобы машина без участия человека могла решить какую-либо задачу, она должна:
с высокой скоростью автоматически выполнять все элементарные операции, необходимые для решения этой задачи;
обладать достаточным объемом устройства для хранения программы, исходных данных, промежуточных и окончательных результатов вычислений;
быть способной автоматически выбирать нужное продолжение дальнейших вычислений в зависимости от результатов промежуточных операций.
Создание устройств, обладающих этими качествами, основано на принципе программного управления вычислениями,который мы рассмотрим подробнее далее. В соответствии с этим принципом каждая операция по преобразованию или передаче данных должна выполняться машиной в соответствии с указаниями, содержащимися в управляющем слове - команде.
Команда - это информация, представленная в форме, которая позволяет ввести ее в машину и поместить в устройство для хранения информации, или память машины, и определяющая действия машины на протяжении некоторого интервала времени, необходимого для реализации одной элементарной операции.
В общем случае команда (группа символов, воспринимаемых машиной как инструкция) состоит из нескольких смысловых частей. Одна часть команды является кодом операции и определяет, что должна сделать машина, т. е. характер или вид операции. Остальные части, называемые адресами, указывают, откуда взять данные для выполнения операции и куда направить результат. В качестве адресов служат номера ячеек (точнее, полей памяти) запоминающего устройства машины, в которых хранятся данные или куда необходимо эти данные поместить. Далее приведена
Структура трехадресной команды:
Адрес команды |
Код операции | Адрес 1 | Адрес 2 | Адрес 3 |
Команды перед вводом в вычислительную машину кодируются в виде цифровых последовательностей и после ввода размещаются и хранятся в ячейках памяти машины так же, как и обычные числа по адресному принципу. Отличие состоит лишь в том, что адреса команд указывают места расположения в памяти кодовых комбинаций, используемых для управления обработкой информации, а адреса, входящие в состав команд, обозначают места хранения кодов исходных данных и результатов. Список таких команд образует программу работы вычислительной машины, содержащую исчерпывающую информацию о той последовательности действий, которую должна выполнить машина для решения поставленной задачи, т. е. об алгоритме решения задачи.
Процесс составления программ называется программированием. Программу для каждой задачи вводится в устройство для хранения информации машины обычно вместе с исходными данными. После запуска программы решение выполняется автоматически.