Система математических расчетов MATLAB

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

ямоуголь-ными). Для хранения массива строк разной длины нужно использовать массив ячеек.

Числовые типы данных включают целые числа со знаком и без знака, числа в формате пла-вающей запятой одинарной и двойной точности, и разреженные массивы (sparse arrays) двойной точности.

Сказанное ниже сохраняется в силе для всех типов числовых данных в MATLAB-е:

  1. Все вычисления в MATLAB-е выполняются с двойной точностью.
  2. Целые числа и числа одинарной точности обеспечивают более эффективное использование памяти по сравнению с числами двойной точности.
  3. Все типы данных поддерживают базовые операции над массивами, такие как исполь-зование индексов и измерение размеров массива.
  4. Для выполнения математических операций над целыми числами или массивами с оди-нарной точностью представления, вы должны первратить их в массивы с двойной точ-ностью при помощи функции double.

 

Операторы

Операторы системы MATLAB делятся на три категории:

  1. Арифметические опреаторы, осуществляющие численные вычисления.
  2. Операции отношения, которые осуществляют численное сравнение операндов.
  3. Логические операторы, включающие AND (логическое И), OR (логическое ИЛИ), и NOT (логическое отрицание НЕ).

 

Арифметческие операторы

MATLAB обеспечивает следующие арифметические операторы

ОператорыОписание+Сложение-Вычитание.*Умножение./Правое деление.\Левое деление+Унарный плюс (изменение знака объекта)-Унарный минус:Оператор двоеточия.^Степень.ТранспонированиеКомплексно-сопряженное транспонирование*Матричное умнжение/Матричное правое деление\Матричное левое деление^Степень матрицы

Арифметические операторы и массивы

За исключением некоторых матричных операторов, арифметические операторы MATLAB-а работают с соответствующими элементами массивов одинаковой размерности. Для векторов и прямоугольных массивов, оба операнда должны иметь одинаковый размер, или же один из них должен быть скаляром. Если один операнд является скаляром, а второй - нет, MATLAB применяет данный скаляр ко всем элементам второго операнда; данное свойство известно как скалярное расширение (scalar expansion).

Следующий пример иллюстрирует свойство скалярного расширения при вычислении произ-ведения скалярного опренда и матрицы

 

A = magic(3)

 

A =

8 1 6

3 5 7

4 9 2

 

Введем

3 * A

что дает

ans =

24 3 18

9 15 21

12 27 6

 

 

Операторы отношения

MATLAB обеспечивает следующие операторы отношения

 

ОператорыОписание=Больше чем или равно==Равно ~=Не равно

 

Операторы отношения и массивы

Операторы отношения в MATLAB-е сравнивают соответствующие элементы двух массивов с одинаковыми размерностями. Эти операторы всегда действуют поэлементно. В приведен-ном ниже примере, результирующая матрица показывает, где элемент матрицы A равен со-ответствующему элементу матрицы B.

 

A = [2 7 6; 9 0 5; 3 0.5 6];

B = [8 7 0; 3 2 5; 4 1 7];

 

A == B

ans =

0 1 0

0 0 1

0 0 0

 

Для векторов и прямоугольных массивов, оба операнда должны иметь одинаковый размер или один из них должен быть скаляром. В случае когда один операнд является скаляром, а второй нет , MATLAB проверяет данный скаляр с каждым элементом другого операнда. Те положение, где заданное отношение является истинным, принимают значение 1. Положение, где отношение является ложным, принимают значение 0.

 

Операторы отношения и пустые массивы

Операторы отношения работают и с массивами, у которых какая-либо размерность равна ну-лю (что приводит к пустому массиву), если оба массива имеют одинаковый размер или же один из них является скаляром. Однако, выражения вида

 

A == [ ]

 

приводят к ошибке, если только массив А не имеет размеры 0х0 или 1х1. Для проверки явля-ется ли данный массив пустым, следует использовать специальную функцию isempty(A).

 

 

 

 

 

Логические операторы

MATLAB обеспечивает следующие логические операторы

 

ОператорОписание&AND (логическое И)|OR (логическое ИЛИ)~NOT (логическое НЕ)

Внимание ! В дополнение к этим логическим операторам, в директории ops имеются нес-колько функций, предназначенных для побитовых (поразрядных) логических операций.

 

Каждый логический оператор имеет специфичный набор правил, которые определяют резу-льтат логического выражения:

  1. Выражения использующие оператор И (&), истинны, если истинны оба операнда. При численных элементах, выражение является истинным, если оба операнда ненулевые. Следующий пример показывает операцию логического И для двух векторов

 

u = [1 0 2 3 0 5];