Здравствуйте, уважаемые читатели! В нашей статье, посвященной основам программирования MatLab, мы познакомимся с синтаксисом этого языка, который мы будем использовать в основном для математических вычислений.
MATLAB — это интерактивная система, в которой основным элементом данных является массив. Это позволяет решать различные задания, связанные с техническими вычислениями, особенно в которых используются вектора и матрицы, в несколько раз быстрее, чем при написании программ с использованием других языков программирования.
Переменные в MATLAB:
Существует несколько типов переменных, вот самые основные из них:
- logical (true – 1, false – 0)
- char – символьная строка
- numeric – массивы чисел с плавающей запятой
- int: int8 (массив 8-разрядных целых чисел со знаком, 1 байт на одно число), также есть int16, int32, int64
- single – массив чисел с плавающей запятой одинарной точности (4 байта на одно число)
- double – массив чисел с плавающей запятой двойной точности (16 знаков)
- structure – структурированный массив полей для хранения данных с именами
Имя переменной:
длина — до 63 символов;
не должно совпадать с именами функций и процедур;
должно начинаться с буквы;
может содержать буквы, цифры, знак подчёркивания;
различаются большие и маленькие буквы.
Задать переменную очень легко:
a=4
Еще например:
>> a=2;b=4;a+b
ans =
6
Как видите, Matlab сам выводит результат операции с 2 переменными.
Массивы:
Начнем с задания одномерных массивов:
Задание в командной строке: x = [1,2,3,4] или x = [1 2 3 4]
Задание отдельных элементов: х(3) = 3
Длину массива можно найти командой: length (x)
Переходим к двумерным массивам:
Задание в командной строке: x = [1,2,3,4;5,6,7,8]
ans =
1 2 3 4
5 6 7 8
Задание отдельных элементов: х(2,3) = 7
Обращение к отдельной р-ой строке массива: у = [р,:]
Обращение к к-ому столбцу массива: у = [:,к]
Команда В=А(:,:) обращается ко всем элементам матрицы, т.е. создаёт копию матрицы А.
Также следует знать о стандартных матрицах:
- zeros(n,m) — матрица из нулей размера nxm
- ones(n,m) – матрица из единиц размера nxm
- rand(n,m) – матрица случайных чисел размера nxm
- eye(n,m) – матрица из единиц на главной диагонали размера nxm
Операторы:
Операторы следует знать, так как без них невозможно освоить все основы программирования на MATLAB.
- Арифметические операторы (арифметические выражения, вычисления)
- Операторы отношения (сравнение аргументов)
- Логические операторы (логические выражения)
Уровни приоритета арифметических операторов:
- Поэлементное транспонирование (.’ ), поэлементное возведение в степень (.*), сопряжение матрицы (‘), возведение матрицы в степень(^)
- Унарный плюс(+) и унарный минус (-)
- Поэлементное умножение массивов(.*), правое деление массивов (./) и левое (.\), умножение матриц (*), решение систем линейных уравнений операции (/) и (\)
- Сложение (+) и вычитание массивов (-)
- Оператор (:)
Внутри каждого уровня операторы имеют равный приоритет и вычисляются в порядке следования слева направо. Порядок вычислений может быть изменён скобками.
Операторы отношения:
< -
меньше-
функция lt()<= -
меньше или равно-
функция le()> -
больше-
функция gt()>= -
больше или равно-
функция ge()== -
равно-
функция eg()~= -
не равно-
функция ne()
Их приоритет ниже арифметических, но выше логических операторов.
Логические операторы:
- &
-
массив: 1- для каждого местоположения, в котором оба элемента имеют значение true (отличны от нуля) и 0 – для всех остальных элементов; функция and() - |
-
массив: 1- для каждого местоположения, в котором хотя бы один элемент имеет значение true (отличен от нуля) и 0 – для всех остальных элементов; функция or() - ~
-
логическое отрицание для каждого элемента входного массива, А; функция not() - xor
-
массив: 1- для каждого местоположения, в котором только один элемент имеет значение true (отличен от нуля) и 0 – для всех остальных элементов
A = [0 1 1 0 1]; B = [1 1 0 0 1]; A&B = 01001 A|B = 11101 ~A = 10010 xor(A,B)=10100
Простые примеры:
Задание матрицы 3 на 4 рандомными числами:
>> rand(3,4) ans = 0.8147 0.9134 0.2785 0.9649 0.9058 0.6324 0.5469 0.1576 0.1270 0.0975 0.9575 0.9706
Далее определим детерминант следующей матрицы:
>> x = [1,2,3,4;5,6,7,8;10,11,12,13;14,15,16,17] x = 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17
>> det(x) ans = 0
Идем дальше:
Приведем пример перемножения матриц, напомню, что матрицы можно перемножать только в том случае, если число столбцов 1 матрицы совпадает с числом строк 2 матрицы.
>> x = [1,2,4;5,6,7]
X1 =
1 2 4
5 6 7
>> x = [1,2;4,5;6,7]
X2 =
1 2
4 5
6 7
>> x1*x2
ans =
11 14 18
29 38 51
41 54 73
На этом мы сегодня закончим. В следующих статьях мы будем уже подробно разбираться со всеми возможностями MATLAB. И поверьте, возможности эти очень большие.
Если у вас остались вопросы, то задавайте их в комментариях.
Будьте первым, кто оставит комментарий