Теоретическое обоснование
Основы работы в среде MATLAB
Цель и содержание работы:научиться проводить прямые вычисления и создавать М-файлы в пакете автоматизации математических расчетов MATLAB.
Теоретическое обоснование
Система MATLAB была разработана К. Б. Молером и с конца 70-х гг. широко использовалась на больших ЭВМ. В начале 80-х гг. Джон Литл из фирмы MathWorks, Inc. разработал версии системы PC MATLAB для компьютеров класса IBM PC, VAX и Macintosh.
MATLAB — является системой автоматизации математических расчетов, построенной на расширенном представлении и применении матричных операций. Это нашло отражение в названии системы — MATrix LABoratory — матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что эта ориентация почти не ощущается теми пользователями, которых не интересуют непосредственно матричные вычисления. Он включает в себя вычисления, визуализацию и программирование в удобной среде.
В MATLAB используются такие типы данных, как многомерные массивы, массивы ячеек, массивы структур и разреженные матрицы, что открывает возможности применения системы при создании и отладке алгоритмов матричных вычислений и крупных баз данных.
Система MATLAB ориентирована на матричные операции. Матрицы широко применяются в сложных математических расчетах, например при решении задач линейной алгебры и математического моделирования статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. Напомним, что двумерный массив чисел или математических выражений принято называть матрицей. А одномерный массив называют вектором. Примеры векторов и матриц даны ниже:
— вектор из 4 элементов;
– матрица размера 4x3.
Размер матрицы определяется числом ее строк m и столбцов n. Обычно размер матрицы указывают как . Элементы векторов и матриц рассматриваются как индексированные переменные, например:
· — второй элемент вектора V;
· — третий элемент второй строки матрицы М.
Обычные числа и переменные в MATLAB рассматриваются как матрицы размера 1x1, что дает единообразные формы и методы проведения операций над обычными числами и массивами. Данная операция обычно называется векторизацией. Векторизация обеспечивает и упрощение записи операций, производимых одновременно над всеми элементами векторов и матриц, и существенное повышение скорости их выполнения. Это также означает, что большинство функций может работать с аргументами в виде векторов и матриц. При необходимости вектора и матрицы преобразуются в массивы, и значения вычисляются для каждого их элемента.
Система MATLAB выполняет сложные и трудоемкие операции над векторами и матрицами даже в режиме прямых вычислений без какого-либо программирования. В этом случае работа происходит в режиме «вопрос – ответ», что немного напоминает работу в MathCAD. Ею можно пользоваться как мощнейшим калькулятором, в котором наряду с обычными арифметическими и алгебраическими действиями могут использоваться такие сложные операции, как инвертирование матрицы, вычисление ее собственных значений и принадлежащих им векторов, решение систем линейных уравнений, вывод графиков двумерных и трехмерных функций и многое другое.
В режиме непосредственных вычислений, которые проводятся в командном режиме, можно решать множество математических задач. Однако при решении серьезных задач возникает необходимость сохранения используемых последовательностей вычислений, а также их дальнейшей модификации.
Файлы, которые содержат код на языке MATLAB, называются М-файлами. Существует два вида М-файлов.
· Файлы-сценарии, которые не имеют входных и выходных аргументов. Они оперируют с данными из рабочего пространства.
· Файлы-функции, которые имеют входные и выходные аргументы. Они оперируют с локальными переменными.
Файл-сценарий, именуемый также Script-файлом, является просто записью серии команд без входных и выходных параметров. Он работает с данными из рабочей области, в процессе работы на компилируется и представляет собой зафиксированную в виде файла последовательность операций, полностью аналогичной той, что используется при прямых вычислениях. В MATLAB возможно использование комментариев. Комментарий должен начинаться с символа %. При правильной записи комментария он выделяется зеленым цветом, в противном случае – красным.
Файлы-функции – это М-файлы, которые имеют входные параметры и возвращают выходные. Имя М-файла и имя функции должно быть одним и тем же. Функции работают с переменными в пределах их собственного рабочего пространства. Первая строка файла-функции начинается со слова function. Здесь происходит задание имени функции со списком входных и выходных аргументов. Остальные строки файла представляют собой комментарии и исполняемый код MATLAB. Например, на рис. 1 представлен файл-функция fun двух переменных х и у, вычисляющая .
Здесь входными аргументами являются x и y. Выходным – z. Поскольку переменные х и у указаны как параметры функции fun(x, у), то они являются локальными. При вычислении значения fun(2, 3) в теле функции задается х=2 и у=3. Поэтому результат — z=13. Если функция имеет несколько выходных параметров, то эти параметры записываются в квадратных скобках перед именем функции через запятую в той последовательности, в которой они будут возвращаться. Синтаксис записи такой функции выглядит следующим образом:
function [Список_выходных_параметров]=f_name(Список_входных_параметров)
Рисунок 1 – Задние файла функции
Функцию можно вызывать как из файла-сценария, так и в режиме прямых вычислений.
Задание
1. Ознакомиться с интерфейсом системы MATLAB. Изучить правила ввода матриц и векторов, использования операторов.
2. Решить двумя методами, методом Крамера и матричным методом, систему линейных уравнений:
Решение провести, как в режиме прямых вычислений, так и путем создания М-файлов.