Skip to content

Основы Matlab

Здравствуйте, уважаемые читатели! В нашей статье, посвященной основам программирования 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.

  • Арифметические операторы (арифметические выражения, вычисления)
  • Операторы отношения (сравнение аргументов)
  • Логические операторы (логические выражения)

Уровни приоритета арифметических операторов:

  1. Поэлементное транспонирование (.’ ), поэлементное возведение в степень (.*), сопряжение матрицы (‘), возведение матрицы в степень(^)
  2. Унарный плюс(+) и унарный минус (-)
  3. Поэлементное умножение массивов(.*), правое деление массивов (./) и левое (.\), умножение матриц (*), решение систем линейных уравнений операции (/) и (\)
  4. Сложение (+) и вычитание массивов (-)
  5. Оператор (:)

Внутри каждого уровня операторы имеют равный приоритет и вычисляются в порядке следования слева направо. Порядок вычислений может быть изменён скобками.

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

  • < - меньше - функция 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. И поверьте, возможности эти очень большие.
Если у вас остались вопросы, то задавайте их в комментариях.

Опубликовано вMatlab

Будьте первым, кто оставит комментарий

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *