Так же как и все структурные языки программирования MATLAB различает глобальные и локальные переменные. Локальные переменные действуют только в модуле где они описаны, глобальные переменные доступны всем модулям загруженным в этот момент в MATLAB. Ниже приведена иллюстрация области действия переменных.
Глобальные переменные, действуют во всех модулях | ||||||
Модуль 1 | Модуль 2 | Модуль 3 | ||||
Локальные переменные действуют только в этом модуле | Локальные переменные действуют только в этом модуле | Локальные переменные действуют только в этом модуле | ||||
Для указания что переменная является глобальной необходимо указать перед ее именем описание global. Например global A. Команда who global, выводит список всех глобальных переменных.
Матрицы
Типы данных MATLAB. Скаляры, векторы и матрицы.
В системе MATLAB определено шесть базовых типов данных, каждый из которых является многомерным массивом. Шесть классов — это double, char, sparse, uint8, cell, и struct.
Фактически MATLAB содержит один тип данных — массив или матрица (таблица). Массив это группа ячеек памяти имеющие одно имя. Массивы бывают одномерные — строка или столбец, прямоугольные, квадратные (число строк рано числу столбцов). Когда Вы указываете переменную и присваиваете ей одно число, фактически MATLAB создает матрицу из одной строки и одного столбца. Ниже приведены примеры вектора — а, строки — б, прямоугольной матрицы — в, квадратной матрицы — г, матрицы единичной размерности — е (простой переменой или скаляр).
а | б | в | г | е |
Для ввода скаляра достаточно приписать его значение какой-то переменной, например
Заметим, что MatLab различает заглавные и прописные буквы, так что p и P — это разные переменные. Для ввода массивов (векторов или матриц) их элементы заключают в квадратные скобки. Так для ввода вектора-строки размером 1?3, используется следующая команда, в которой элементы строки отделяются пробелами или запятыми.
Если вектор-строка представляет собой последовательность от а до в, то ее можно ввести через двоеточие – а:в, например:
ввести t=1:5
будет выведено t= 1 2 3 4 5
или с шагом (0,1) t=-10:0.1:10 ;
При вводе вектора-столбца элементы разделяют точкой с запятой. Например,
Вводить небольшие по размеру матрицы удобно прямо из командной строки. При вводе матрицу можно рассматривать как вектор-столбец, каждый элемент которого является вектор-строкой.
или матрицу можно трактовать как вектор строку, каждый элемент которой является вектор-столбцом.
Доступ к элементам
Доступ к элементам матриц осуществляется при помощи двух индексов — номеров строки и столбца, заключенных в круглые скобки, например команда B(2,3) выдаст элемент второй строки и третьего столбца матрицы B. Для выделения из матрицы столбца или строки следует в качестве одного из индексов использовать номер столбца или строки матрицы, а другой индекс заменить двоеточием. Например, запишем вторую строку матрицы A в вектор z
Также можно осуществлять выделение блоков матриц при помощи двоеточия. Например, выделим из матрицы P блок отмеченный цветом
Если необходимо посмотреть переменные рабочей среды, в командной строке необходимо набрать команду whos. Команда who выводит только имена переменных
Видно, что в рабочей среде содержатся один скаляр (p), четыре матрицы (A, B, P, P1) и вектор-строка (z).