2. Основные сведения о системе MATLAB и Simulink
Система MATLAB является одной из самых крупных и мощных систем компьютерной математики [1] и предназначена для автоматизации математических и научно-технических расчетов с данными, представленными в матричной форме. Применение матриц облегчает реализацию параллельных вычислений, что, безусловно, сказывается на скорости решения матричных задач. Кроме того, в системе заложены возможности адаптации системы к решению самых разнообразных задач пользователя.
Замечательными качествами системы MATLAB является ее открытость и расширяемость. Любая новая функция или фрагмент программы, записанный в виде m-файла, могут сразу применяться в вычислении и моделировании без какого-либо объявления, наряду с десятками сотен уже заранее встроенных в систему функций ее ядра и функциями пакетов расширения. Еще большие функции системе добавляют пакеты расширения MATLAB. Многие из них содержат специальные средства для интеграции с другими программами, поддержки объектно-ориентированного и визуального программирования, для генерации различных приложений.
Пакет MATLAB поставляется как комплекс MATLAB + Simulink + Toolboxes + Blocksets. Базируясь на принципах визуально-ориентированного программирования, Simulink позволяет выполнять моделирование сложных устройств с высокой степенью достоверности и наглядными средствами представления результатов.
Пакет Toolboxes – является расширением MATLAB и содержит наборы функций для определенной предметной области. Для телекоммуникационного направления представляют интерес пакеты: Communications Toolbox, Signal Processing Toolbox, Control System Toolbox, Filter Design Toolbox, RF Toolbox, Statistics Toolbox.
Пакет Blocksets – является расширением пакета Simulink и содержит наборы блоков, методов и функций для определенной предметной области. Для телекоммуникационных задач используются такие пакеты, как Communications Blockset, Signal Processing Blockset, RF Blockset, Simscape, SimElectronics и другие.
В MATLAB применяется матричное представление данных. Векторы и матрицы характеризуются размерностью и размером. Размерность определяет структурную организацию массивов в виде строки (размерность 1) или в виде страницы (размерность 2). Вектор является одномерным массивом, а матрица – двумерным (размерностью m x n, где m – число строк, а n – число столбцов матрицы).
В базовый набор слов системы входят специальные знаки, знаки арифметических и логических операций, большое количество встроенных функций. MATLAB предоставляет пользователю обширный набор готовых средств. Дополнительный уровень системы образуют ее пакеты расширения.
Любые вычисления в системе можно выполнить в режиме прямых вычислений, то есть без подготовки программы, в командной строке в диалоговом режиме с пользователем. Для решения серьезных задач, система MATLAB содержит мощный язык программирования высокого уровня, ориентированный на технические и математические расчеты, способного превзойти возможности традиционных языков программирования. Отсюда важным достоинством системы является возможность с ее помощью решение новых, наиболее сложных математических задач.
Язык программирования системы MATLAB представляет ряд возможностей для создания функций пользователя. Для этого имеется возможность применения функции inline.
При использовании функции inline в качестве аргументов задается в апострофах выражение, задающее функцию одной или двух переменных. Например,
>> f=inline('3*x^2+sqrt(abs(x))+50')
f =
Inline function:
f(x) =3*x^2+sqrt(abs(x))+50
Можно также задавать свои функции в виде m-файлов.
Система MATLAB имеет входной язык, который является интерпретатором, но с помощью встроенного компилятора и подключаемого к системе языка программирования C возможно создание откомпилированных машинных кодов [2]. Запись программ в системе традиционна и привычна для пользователя.
В командном режиме результаты работы не сохраняются в памяти компьютера, а вот программы в системе сохраняются только в виде текстовых M-файлов, для исполнения которых нужна среда MATLAB, так как система не создает исполняемых программ в виде машинных кодов (*.exe).
Для профессиональной подготовки М-файлов служит специальный редактор системы MATLAB, приведенный на рисунке 1, который вызывается командой: File=>New=>M-file (или Script-file в зависимости от версии MATLAB).
В окне редактора создается свой файл, при этом используются средства отладки и запуска (Debug). После сохранения программы, командой Run файл запускается на исполнение. Вызов М-файла производится в командной строке в режиме прямых вычислений. К отладочным средствам редактора относятся:
– установка контрольных точек прерывания. При их достижении вычисления приостанавливаются, и пользователь может оценить промежуточные результаты вычисления (например, проверять правильность выполнения циклов),
– сохранение в текстовом формате *.txt,
– синтаксическая проверка с выявлением ошибок пользователя (при этом используются цветовые выделения символов).
Семантические ошибки отладчик не обнаруживает.
Рис. 1. Окно редактора кода с командами отладки
Поскольку сессия не является программированием, то действия по программе записывается в М-файле (или Script-файле), которые подразделяются на два класса [3]:
– файлы сценарии, не имеющие входных параметров (процедуры без параметров),
– файлы функции, имеющие входные параметры (программные модули).
Программа может менять структуру алгоритмов вычислений в зависимости от входных данных и данных, создаваемых в ходе вычислений.
Файл сценарий – это простейшая программа на языке программирования MATLAB и имеет следующую структуру:
% Основной комментарий в первой строке
% Дополнительный комментарий последующие строки
Тело файла с любыми выражениями
Работа с файлом сценарием проходит в следующей последовательности:
1. Создается M-файл командой: File=>New=>M-file;
2. Открывается окно редактора. Заполняются строки программой;
3. Сохраняется файл в окне Editor командой: File =>Save as => name.m;
4. Вызывается в командной строке по имени .
Файлы сценарии имеют следующие свойства:
– не имеют входных и выходных параметров;
– работают с данными из рабочей области;
– в процессе выполнения не компилируются;
– представляют собой последовательность операций, аналогичную сессии в режиме прямых вычислений.
Do'stlaringiz bilan baham: |