Разное

Работа с матрицами matlab: Справочник по MATLAB — Массивы, матрицы и операции с ними (В.Г.Потемкин)

Содержание

Формирование векторов и матриц MatLab

Урок 2. Установка системы и первые навыки работы
Установка и файловая система MATLAB
Запуск MATLAB и работа в режиме диалога
Новый и старый облик системы MATLAB 6.0
Операции строчного редактирования
Команды управления окном
MATLAB в роли суперкалькулятора
О переносе строки в сессии
Основные объекты MATLAB
Понятие о математическом выражении
Действительные и комплексные числа
Константы и системные переменные
Текстовые комментарии
Переменные и присваивание им значений
Уничтожение определений переменных
Операторы и функции
Применение оператора : (двоеточие)
Сообщения об ошибках и исправление ошибок
Форматы чисел
Формирование векторов и матриц
Особенности задания векторов и матриц
Объединение малых матриц в большую
Удаление столбцов и строк матриц
Операции с рабочей областью и текстом сессии

Дефрагментация рабочей области
Сохранение рабочей области сессии
Ведение дневника
Загрузка рабочей области сессии
Завершение вычислений и работы с системой
Завершение вычислений
Завершение работы с системой
Что нового мы узнали?

Особенности задания векторов и матриц


Описанные выше простые правила вычислений распространяются и на гораздо более сложные вычисления, которые (при использовании обычных языков программирования типа Бейсик или Паскаль) требуют составления специальных программ. MATLAB — система, специально предназначенная для проведения сложных вычислений с векторами, матрицами и массивами. При этом она по умолчанию предполагает, что каждая заданная переменная — это вектор, матрица или массив. Все определяется конкретным значением переменной. Например, если задано Х=1, то это значит, что X —это вектор с единственным элементом, имеющим значение 1. Если надо задать вектор из трех элементов, то их значения следует перечислить в квадратных скобках, разделяя пробелами. Так, например, присваивавание

» V=[l 2 3] 

V=
1   2   3
задает вектор V, имеющий три элемента со значениями 1, 2 и 3. После ввода вектора система выводит его на экран дисплея.
Задание матрицы требует указания нескольких строк. Для разграничения строк используется знак ; (точка с запятой). Этот же знак в конце ввода предотвращает вывод матрицы или вектора (и вообще результата любой операции) на экран дисплея.

Так, ввод
» М=[1 2 3: 4 5 6; 7 8 9];
задает квадратную матрицу, которую можно вывести:
» M
M =
1     2     3

4     5     6

7     8     9
Возможен ввод элементов матриц и векторов в виде арифметических выражений, содержащих любые доступные системе функции, например:
» V= [2+2/(3+4) exp(5) sqrt(l0)]: 

» V 

V =

2.2857     148.4132     3.1623
Для указания отдельного элемента вектора или матрицы используются выражения вида V(1) или M(i. j). Например, если задать
» М(2. 2)
arts= 5

то результат будет равен 5. Если нужно присвоить элементу M(i. j) [ В тексте программ MATLAB лучше не использовать i и j как индексы, так как i и j — обозначение квадратного корня из -1. Но можно использовать I и J. — Примеч. ред. ] новое значение х, следует использовать выражение
M(ij)=x
Например, если элементу М(2, 2) надо присвоить значение 10, следует записать 

» М(2. 2)=10
Выражение М( i) с одним индексом дает доступ к элементам матрицы, развернутым в один столбец. Такая матрица образуется из исходной, если подряд выписать ее столбцы.
Следующий пример поясняет такой доступ к элементам матрицы М:
» М=[1 2 3: 4 5 6: 7 8 9] 

М =

1     2     3
4     5     6
7     8     9 

» М(2)
ans =
4
» M(8) 

ans =
6
» M(9) 

ans =
9
» М(5)=100; 

» М 

М =
1     2     3
4     100   6
7     8     9
Возможно задание векторов и матриц с комплексными элементами, например:
» i=sqrt(-l):
» СМ =[1 2: 3 4] + i*[5 6: 7 8]
или
» СМ — [1+5*1 2+6*1: 3+7*1 4+8*1]
Это создает матрицу:
CM=
1.

0000 + 5.00001     2.0000 + 6.00001 

3.0000 + 7.00001     4.0000 + 8.00001
Наряду с операциями над отдельными элементами матриц и векторов система позволяет производить операции умножения, деления и возведения в степень сразу над всеми элементами, т. е. над массивами. Для этого перед знаком операции ставится точка. Например, оператор * означает умножение для векторов или матриц, а оператор .* —поэлементное умножение всех элементов массива. Так, если М — матрица, то М.*2 даст матрицу, все элементы которой умножены на скаляр — число 2. Впрочем, для умножения матрицы,на скаляр оба выражения — М*2 и М.*2 — оказываются эквивалентными.
Имеется также ряд особых функций для задания векторов и матриц. Например, функция magic(n) задает магическую матрицу размера

пхп, у которой сумма всех столбцов, всех строк и даже диагоналей равна одному и тому же числу:
» M=magic(4) 

М =

16

2

3

13

5

11

10

8

9

7

6

12

4

14

15

1

» sum(M) 

ans=
34     34     34     34 

» sum(M’) 

ans=
34     34     34     34 

» sum(diag(M)) 

ans=
34 

» M(1. 2)+M(2.2)+M(3.2)+M(4.2)
ans= 34

Уже сама по себе возможность создания такой матрицы с помощью простой функции magic заинтересует любителей математики. Но векторных и матричных функций в системе множество, и мы их детально рассмотрим в дальнейшем. Напомним, что для стирания переменных из рабочей области памяти служит команда clear.

 

Нравится

Твитнуть

Лекция 2. Работа с векторами и матрицами в MATLAB презентация, доклад, проект

Слайд 1
Текст слайда:

Лекция 2. «Работа с векторами и матрицами в MATLAB»

МАТЕМАТИЧЕСКИЕ МЕТОДЫ


Слайд 2
Текст слайда:

Работа с массивами в MATLAB

MATLAB ориентирован на работу с векторами и матрицами.
Одномерный массив – вектор;
Двумерный массив – матрица.

Работа с векторами:

или Получение элемента вектора:

Работа с матрицами:

Быстрые способы задания векторов:
(применяются при дискретизации расчетной области, задании «сеток» и пр. )

МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2

A=[1 3 5 -2]

A=[1,3,5,-2]

>> A=[1:6]
A =
1 2 3 4 5 6

>> A=[0:0.5:2]
A =
0 0.5 1 1.5 2

>> B=[1 2 3; 4 5 6]
B =
1 2 3
4 5 6

>> B=[1, 2, 3; 4, 5, 6]
B =
1 2 3
4 5 6

>> A(2)
ans =
3

>> B(2,1)
ans =
4


Слайд 3
Текст слайда:

Работа с массивами в MATLAB

Стандартные матрицы

ZEROS(N) ZEROS(M,N)

ONES(N) ONES(M,N)

EYE(N) EYE(M,N)

RAND(M,N) – случайные числа

МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2

>> zeros (3)
ans =
0 0 0
0 0 0
0 0 0

>> zeros (3,2)
ans =
0 0
0 0
0 0

>> ones(2)
ans =
1 1
1 1

>> ones(2,3)
ans =
1 1 1
1 1 1

>> eye(3)
ans =
1 0 0
0 1 0
0 0 1

>> eye(2,3)
ans =
1 0 0
0 1 0

Работа с размерностью

SIZE( ) LENGTH( ) NDIMS(A)

Конец массива ( end )
Динамическая работа с памятью

A =
0 1 2
1 2 3
>> size(A)
ans =
2 3

A =
0 1 2
1 2 3
>> length(A)
ans =
3

A =
0 1 2
1 2 3
>> ndims(A)
ans =
2

>> x=[1 2 3]
x =
1 2 3
>> x(end) x(length(x))
ans =
3
>> x(end+1)=6
x =
1 2 3 6


Слайд 4
Текст слайда:

Работа с блоками матриц в MATLAB

Использование символа « : »
Позволяет выбирать целые строчки или столбцы или их части:

МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2

>> B=[1, 2, 3; 4, 5, 6]

>> B(1,:)
ans =
1 2 3

>> B(:,2)
ans =
2
5

>> B(2,2:3)
ans =
5 6

>> B(end+1,:)=[0 -1 2]
B =
1 2 3
4 5 6
0 -1 2

Рассмотреть пример с матрицей большой размерности… (например, перестановка строк или умножение всей строки на число или вставка единичной матрицы в центр более крупной)

Удаление строк и столбцов
Используется запись [ ]:

Функция « sum (X) »
Как найти разность всех элементов массива?
Как сумму всех четных элементов массива?

>> x=[1 2 3 4 5 6 7]

>> x(3)
ans =
3

>> x(3)=[]
x =
1 2 4 5 6 7

>> length(x)
ans =
6

>> B=[1, 2, 3; 4, 5, 6]
B =
1 2 3
4 5 6

>> B(:,2)=[]
B =
1 3
4 6


Слайд 5
Текст слайда:

Сортировка массивов в MATLAB

Фукция « sort »
Представление матрицы в виде независимых векторов. Сортировка элементов в рамках какого-то вектора по возрастанию-убыванию:
SORT(X,DIM,MODE)

МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2

B = [1 2 -3; 4 5 -6; 0 -1 -2]

B =
1 2 -3
4 5 -6
0 -1 -2
>> sort(B)
ans =
0 -1 -6
1 2 -3
4 5 -2

>> sort(B,2)
ans =
-3 1 2
-6 4 5
-2 -1 0

Фукция « max »

MAX(X)
[Y,I]=MAX(X)
MAX(X,Y)
MAX(X,[],DIM)

Фукция « min »
Аналогично функции max

Как найти самый большой элемент в матрице?

B = [1 2 -3; 4 5 -6; 0 -1 -2]

>> max(B)
ans =
4 5 -2

>> [Y,I]=max(B)
Y =
4 5 -2
I =
2 2 3

MODE:
‘ascend‘ – по возрастнию
‘descend’ – по убыванию


Слайд 6
Текст слайда:

Операции над матрицами в MATLAB

Удаление строк или столбцов (символ [ ] )
Объединение (cat(dim, A1, A2, A3, A4 .

Математические функции:
Нахождение обратной матрицы ( INV(x) или символ « ‘ »)
Определитель матрицы ( det(A) )
Собственные значения матрицы

МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2


Слайд 7
Текст слайда:

Массивы, матрицы и операции с ними

МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2

Формирование массивов специального вида
ZEROS — формирование массива нулей
ONES — формирование массива единиц
EYE — формирование единичной матрицы
RAND — формирование массива элементов, распределенных по равномерному закону
RANDN — формирование массива элементов, распределенных по нормальному закону
CROSS — векторное произведение
KRON — формирование тензорного произведения
LINSPACE — формирование линейного массива равноотстоящих узлов
LOGSPACE — формирование узлов логарифмичесокй сетки
MESHGRID — формирование узлов двумерной и трехмерной сеток
: — формирование векторов и подматриц

Операции над матрицами
DIAG — формирование или извлечение диагоналей матрицы
TRIL — формирование нижнетреугольной матрицы (массива)
TRIU — формирование верхнетреугольной матрицы (массива)
FLIPLR — поворот матрицы относительно вертикальной оси
FLIPUD — поворот матрицы относительно горизонтальной оси
ROT90 — поворот матрицы на 90 градусов
RESHAPE — преобразование размеров матрицы
Специальные матрицы
COMPAN — сопровождающая матрица характеристического многочлена
HADAMARD — матрица Адамара (Hadamard matrix)
HANKEL — матрица Ганкеля (Hankel matrix)
HILB, INVHILB — матрица Гильберта (Hilbert matrix)
MAGIC — магический квадрат
PASCAL — матрица Паскаля (Pascal matrix)
ROSSER — матрица Рессера (Rosser matrix)
TOEPLITZ — матрица Теплица (Toeplitz matrix)
VANDER — матрица Вандермонда (Vandermonde matrix)
WILKINSON — матрица Уилкинсона (Wilkinson matrix)


Слайд 8
Текст слайда:

Задания для практического занятия

Задание 1: Найти корень функции одной переменной 3-мя методами: Метод простой итерации, Метод половинного деления, Метод Ньютона.

Задание 2: Решить систему линейных алгебраических уравнений методом Крамера, методом Гаусса, методом обратной матрицы с использованием модификаций Гаусса.

МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 1


Функции для работы с массивами в Matlab

Функции для работы с массивами в Matlab

• Различные способы ввода матриц в пакете Mat. Lab » А = [3 1 -1; 2 4 3] А = 3 1 -1 2 4 3 » В = [4 3 -1 2 7 0 -5 1 2] B = 4 3 -1 2 7 0 -5 1 2 » С = [[3; 4] [-1; 2] [7; 0]] С = 3 -1 7 4 2 0 2

Посмотрите переменные рабочей среды, набрав в командной строке whos: А 2 x 3 48 double array В 3 x 3 72 double array С 2 x 3 48 double array 3

Удаление строк и столбцов • В Mat. Lab парные квадратные скобки [ ] обозначают пустой массив, который, в частности, позволяет удалять строки и столбцы матрицы. » М = [2 0 3 1 1 4 6 1 3]; » M(1, : )=[ ]; » M M = 1 1 4 6 1 3 » size(M) ans = 2 3 Аналогичным образом удаляются и столбцы. » М(: , 2: 3) = [ ] M = 1 6

5

Создание матриц специального вида • Для работы с матрицами удобно пользоваться следующими функциями q ones – формирование массива из единиц q zeros – формирование массива из нулей q eye – формирование единичной матрицы q rand – формирование массива из чисел, случайно распределённых на отрезке [0, 1] q randn – формирование массива из чисел, нормально распределённых на отрезке [0, 1] q magic – формирование магического квадрата q pascal – формирование квадрата Паскаля q diag – диагональная матрица q и др. 6

Матрицы специального вида • Рассмотрим основной синтаксис на примере функции создания единичной матрицы (eye) • eye(m) – создание единичной матрицы размера [m, m] • eye(m, n) – создание единичной матрицы размера [m, n] – «лишние» строки или столбцы дополняются нулями 7

Матрицы специального вида 8

Матрицы специального вида 9

Матрицы специального вида 10

Матрицы специального вида 11

Матрицы специального вида • Функция diag: работа с диагональными матрицами – у которых ненулевые элементы расположены на диагоналях • Синтаксис: – X = diag(v) – на главной диагонали матрицы X расположены элементы вектора v – X = diag(v, k) – на k-ой диагонали матрицы X расположены элементы вектора v (по умолчанию k=0) – v = diag(X, k) – извлечь из матрицы X k-ую диагональ и сохранить её в векторе v 12

Матрицы специального вида 13

Матрицы специального вида 14

Вычисления с элементами массивов • Простейшие операции над элементами массивов: – sum: сумма элементов – prod: произведение элементов – max: нахождение максимального элемента – min: нахождение минимального элемента – sort: сортировка элементов 15

Вычисления с элементами массивов • Рассмотрим работу некоторых из этих функций на примере sum • Для векторов эта функция возвращает сумму элементов • Для массивов – сумму элементов по каждому из столбцов – результат – вектор-строка • Остальные функции работают по этому же принципу 16

Вычисления с элементами массивов 17

Вычисления с элементами массивов • Максимальный и минимальный элементы: 18

Вычисления с элементами массивов • Вызов функций max/min с двумя выходными параметрами позволяет определить и индекс найденного элемента: 19

Вычисления с элементами массивов • Функция sort производит сортировку элементов матрицы по столбцам: 20

Поиск в массиве • find: определяет индексы элементов, удовлетворяющих заданному условию 21

Поиск в массиве • Пример применения команды find к массивам: 22

Математические матричные операции • det – вычисление определителя квадратной матрицы 23

Матричные и поэлементные операции • При работе с матрицами можно использовать два вида операторов: – матричные: производят действия по матричные: правилам матричной алгебры – поэлементные: производят действия над поэлементные: соответствующими элементами матриц • размеры матриц должны быть одинаковыми • от матричных операций отличаются точкой перед знаком операции 24

Матричные и поэлементные операции • ‘ транспонирование • матричное деление • + матричное (и «слева» поэлементное) • . матричное деление «слева» возведение в степень 25

Матричные и поэлементные операции 26

Матричные и поэлементные операции • Такие операции часто используются, если нужно применить какую либо функцию ко всем элементам матрицы. 27

Матричные и поэлементные операции • Некоторые операции по умолчанию считаются поэлементными: 28

Операции «деления» слева и справа • Применяются для решения систем линейных уравнений (СЛУ) • Деление слева () – для квадратных матриц реализует метод Гаусса – для прямоугольных матриц – метод наименьших квадратов 29

Заполнение матриц при помощи индексации Генерация матрицы Т осуществляется в три этапа: • 1. Создание массива T размера пять на пять, состоящего из нулей. • 2. Заполнение первой строки единицами. • 3. Заполнение части последней строки минус единицами до последнего элемента. 30

» A(1: 5, 1: 5) = 0 A= 0 0 0 0 0 0 0 » A(1, : ) = 1 A= 1 1 1 0 0 0 0 0 » A(end, 3: end) = -1 A= 1 1 1 0 0 0 0 0 -1 -1 -1 31

Объединение малых матриц в большую. Например, создадим вначале магическую матрицу размера 3 x 3: >> A=magic(3) А= 8 1 6 3 5 7 4 9 2 Теперь можно построить матрицу, содержащую четыре матрицы: >> В=[А А+16 : А+32 А+16] В =8 1 6 24 17 22 3 5 7 19 21 23 4 9 2 20 25 18 40 33 38 24 17 22 35 37 39 19 21 23 36 41 34 20 25 18 32

Ведение дневника. Загрузка рабочей области сессии. • diary filename – ведет запись на диск всех команд в строках ввода и полученных результатов в виде текстового файла с указанным именем; • diary off – приостанавливает запись в файл; • diary on – вновь начинает запись в файл. Таким образом, чередуя команды diary off и diary on, можно сохранять нужные фрагменты сессии в их формальном виде. Команду diary можно задать и в виде функции diary(‘file’), где строка ‘file’ задает имя файла. Например: >> diary myfile. m >> 1+2 ans = 3 >> diary off >> 2+3 ans = 5 >> diary on sin(l) ans = 0. 8415 33 >> diary off

Введение в матрицы в Matlab — документация Matlab Tutorial 3.

0

Дано базовое введение в определение матриц и управление ими здесь. Предполагается, что вы знаете основы определения и манипулировать векторами (Введение в векторы в Matlab) с помощью Matlab.

  1. Определение матриц
  2. Матричные функции
  3. Операции с матрицами

Определение матриц

Определение матрицы аналогично определению вектора (Введение в векторы в Matlab). Чтобы определить матрицу, вы можете обращаться с ней как со столбцом векторов-строк (обратите внимание, что пробелы обязательны!):

 >> А = [ 1 2 3; 3 4 5; 6 7 8]
А =
     1 2 3
     3 4 5
     6 7 8
 

Вы также можете рассматривать его как строку векторов-столбцов:

 >> B = [[1 2 3]' [2 4 7]' [3 5 8]']
Б =
     1 2 3
     2 4 5
     3 7 8
 

(Опять же важно использовать пробелы.)

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

 >> кто
  Имя Размер Байты Класс
  Двойной массив 3x3 72
  B 3x3 72 двойной массив
  v 1x5 40 двойной массив
Всего 23 элемента, использующих 184 байта.
 

Мы предполагаем, что вы выполняете это руководство после завершения предыдущий урок. Вектор v был определен в предыдущем руководство.

Как упоминалось ранее, обозначения, используемые Matlab, являются стандартными. обозначения линейной алгебры, которые вы должны были видеть раньше. Матрица-вектор умножение можно легко сделать. Вы должны быть осторожны, однако, ваши матрицы и векторы должны иметь правильный размер!

 >> v = [0:2:8]
v =
     0 2 4 6 8
>> А*в(1:3)
??? Ошибка при использовании ==> *
Внутренние размеры матрицы должны совпадать.
>> А*в(1:3)'
ответ =
    16
    28
    46
 

Привыкайте к этому конкретному сообщению об ошибке! Как только вы начнете разбрасывая матрицы и векторы, легко забыть размеры созданных вами вещей.

Вы можете работать с различными частями матрицы так же, как с векторы. Опять же, вы должны быть осторожны, чтобы убедиться, что операция является законным.

 >> А(1:2,3:4)
??? Показатель превышает размеры матрицы.
>> А(1:2,2:3)
ответ =
     2 3
     4 5
>> А(1:2,2:3)'
ответ =
     2 4
     3 5
 

Матричные функции

Как только вы сможете создавать и управлять матрицей, вы можете выполнять множество стандартных операций над ним. Например, можно найти обратную матрицы. Однако вы должны быть осторожны, так как операции числовые манипуляции, выполняемые на цифровых компьютерах. В примере матрица A не является полной матрицей, но обратная процедура Matlab все равно будет вернуть матрицу.

 >> инв(А)
Предупреждение: матрица близка к единственной или плохо масштабирована.
         Результаты могут быть неточными. RCOND = 4,565062e-18
ответ =
   1.0e+15 *
   -2,7022 4,5036 -1,8014
    5,4043 -9,0072 3,6029
   -2,7022 4,5036 -1,8014
 

Кстати, Matlab чувствителен к регистру. Это еще один потенциальный источник проблем, когда вы начинаете строить сложные алгоритмы.

 >> Инв(а)
??? Неопределенная функция или переменная a.
 

Другие операции включают нахождение аппроксимации собственных значений матрицы. Есть две версии этой процедуры, одна просто находит собственные значения, другой находит как собственные значения, так и собственные векторы. Если вы забудете, какой из них какой, вы можете получить больше информацию, набрав help eig в подсказке Matlab.

 >> eig(A)
ответ =
   14.0664
   -1,0664
    0,0000
>> [v,e] = eig(A)
v =
   -0,2656 0,7444 -0,4082
   -0,4912 0,1907 0,8165
   -0,8295 -0,6399 -0,4082
е =
   14.0664 0 0
         0 -1,0664 0
         0 0 0,0000
>> диаг(е)
ответ =
   14.0664
   -1,0664
    0,0000
 

Операции с матрицами

Существуют также подпрограммы, позволяющие находить решения уравнений. За например, если A x = b и вы хотите найти x , медленный способ чтобы найти x , нужно просто инвертировать на и выполнить левое умножение на обе стороны (об этом позже). Оказывается, есть еще эффективные и более стабильные методы для этого (разложение L/U с поворот, например). В Matlab есть специальные команды, которые сделают это для тебя.

Перед поиском приближений к линейным системам важно помнить, что если A и B обе матрицы, тогда AB не является обязательно равен ВА . Чтобы различать разницу между решая системы, которые имеют правое или левое умножение, Matlab использует два разные операторы, / и \. Приведены примеры их использования ниже. Это остается в качестве упражнения для вас, чтобы выяснить, какой из них делать что.

 >> v = [1 3 5]'
v =
     1
     3
     5
>> х = А\v
Предупреждение: матрица близка к единственной или плохо масштабирована.
         Результаты могут быть неточными. RCOND = 4,565062e-18
х =
   1.0e+15 *
    1,8014
   -3,60291,8014
>> х = B\v
х =
     2
     1
    -1
>> Б*х
ответ =
     1
     3
     5
>> x1 = v'/B
х1 =
    4.0000 -3.0000 1.0000
>> х1*В
ответ =
    1. 0000 3.0000 5.0000
 

Наконец, иногда вы хотели бы очистить все свои данные и начать над. Вы делаете это с помощью команды clear . Но будь осторожен, так оно и есть. не спрашивать у вас второго мнения, и его результаты являются окончательными.

 >> очистить
>> кто
 


Учебное пособие по Matlab, автор Келли Блэк, находится под лицензией Creative Commons Attribution-NonCommercial 4.0 International License.
На основе работы с http://www.cyclismo.org/tutorial/matlab/.

Matlab — Matrix — GeeksforGeeks

Просмотреть обсуждение

Улучшить статью

Сохранить статью

  • Последнее обновление: 21 фев, 2022

  • Читать
  • Обсудить
  • Посмотреть обсуждение

    Улучшить статью

    Сохранить статью

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

    Синтаксис:

    a = [элементы; elements]

    Example: Creating a Matrix

    MATLAB

     

    x = [1 2 3;4 5 6;7 8 9]

     

    y = [ «Вундеркинды» ; 'Geeks' ]


    Выход:

    9003

    Пример: Знание размера матрицы

    MATLAB

    x = [1 2 3 4; 4 5 6 7; 7 8 9. 10];

    xSize = размер(x)

     

    y=[ 'Гики' ; «Вундеркинды» ];

    ySize = размер(y)

     
     

    Вывод:  

     

    Доступ к элементам матрицы

     

     Чтобы сослаться на элемент в матрице, мы пишем matrix(m, n). Здесь m и n — индексы строк и столбцов.

    Пример 1:

    MATLAB

    x = [1 2 3 4; 4 5 6 7; 7 8 9 10];

    x(3,2)

     

    y=[ «Гики» ; «Вундеркинды» ];

    y(1,2)

     
     

    Output:

     

     

    To access multiple elements in the matrix, we write 

     

    matrix(x : y;, xy)

    Пример 2:

    MATLAB

    x = [1 2 3 4;10];

     

    x(:,:)

     

    x(1:2,:)

     

    x(:,2: end )

     

    x (1: 2,2: 3)


    Выход:

    Добавляющие элементы/Demensions в A MATRIX 9242

    9003

    9003 9003

    9003 9000 2 . матрицы мы можем использовать один из следующих методов: 

     

    cat(dimension,A,B,….)

    или

    x = [A;B]

     

    функцию cat() или объединить с помощью квадратных скобок. Здесь параметр измерения должен быть либо 1, либо 2 для ввода таблицы или расписания.

    Пример 1:

    MATLAB

    X = [1 2 3 4; 4 5 6 7];

    у = [7 8 9 10;11 12 13 14];

     

    a = [x;y]

    b = [x;11 12 13 14]

     

    x(:,5)=[15 16]


    Выход:

    Пример 2:

    MATLAB

    901917017017017017017017017017017017017017017.


    Выход:

    Пример 3:

    MATLAB

    9003

    50151501501501501501501501501501515015015150150150150151501515015150151501515015150150150151501515015150150150151501501501515015015.

    a = x ([1,2,2,1] ,)

    B = X (:, [1,3,2])

    9003

    150 5015150150150150150150150150150151501501501501515015015015015150151501501515015015015150151501515015015150151501515015015015015.

    у = [1 2 3 4;4 5 6 7];

     

    a = cat(1,x,y)

    b = cat(2,x,y)

     
     

    Output:  

     

     

    Пример 4. Удаление строки/столбца матрицы

     

    x(3,:) = []

     

    x(:,3) = []

     
     

    Output:

     

     

    Note:  

     

    • Unlike most of the programming languages, MATLAB индексы массива начинаются с 1.
    • Для выполнения операций(почти всех) над матрицами размерности должны быть одинаковыми.
    • Точка с запятой должна быть добавлена ​​в каждый конец оператора, чтобы избежать множественных выходных данных.
    • В MATLAB строка представляет собой массив символов.
    • В MATLAB length() задает длину массива, а size() задает размер матрицы.

     


    Все, что вам нужно знать о MATLAB (Матричная лаборатория)

    MATLAB определяется как проприетарное программное приложение и язык программирования MathWorks, который упрощает сложные задачи анализа данных, такие как реализация алгоритма, взаимодействие с другими приложениями и управление матрицей данных. В этой статье объясняется назначение MATLAB, его ключевые концепции и варианты использования в 2022 году.

    Содержание

    • Что такое MATLAB (лаборатория матриц)?
    • Как работает MATLAB?
    • 5 ключевых функций MATLAB
    • Использование MATLAB

    Что такое MATLAB (лаборатория матриц)?

    MATLAB — это проприетарное программное приложение и язык программирования MathWorks, которые облегчают сложные задачи анализа данных, такие как реализация алгоритмов, взаимодействие с другими приложениями и управление матрицей данных.

    Как работает MATLAB | Источник

    MATLAB расшифровывается как «Матричная лаборатория». Он был разработан Кливом Моллером и разработан MathWorks. Это многоцелевой язык программирования для числовых вычислений.

    Проекты LINPACK и EISPACK отвечали за первоначальную разработку, чтобы они могли предложить доступ к созданному ими программному обеспечению Matrix. С более чем 4 миллионами пользователей MATLAB стал обязательным инструментом. Передовые инженерные и научные курсы используются в качестве учебных пособий. Исследователи используют его в промышленности в качестве инструмента разработки и анализа.

    MATLAB имеет такие функции, как встроенное редактирование, средства отладки и структуру данных. Он имеет простые в использовании графические команды и различные встроенные команды и математические функции, которые позволяют пользователям выполнять математические вычисления. Это программное обеспечение позволяет пользователям манипулировать матрицами, запускать алгоритмы, разрабатывать пользовательские интерфейсы и визуализировать несколько функций и типов данных. Он используется для обработки сигналов, обработки изображений и аудио, машинного обучения и глубокого обучения.

    Вот ключевые особенности MATLAB:

    • Многофункциональный интерфейс: Это язык высокого уровня, который может взаимодействовать с другими языками, такими как Java и Perl. Он предоставляет пользователям интерактивную среду. Он обеспечивает среду для запуска требовательных когнитивных технологий и компьютерного зрения.
    • Возможности данных: Позволяет пользователям получать доступ к данным из таких источников, как изображения и аудиофайлы. Он также поддерживает данные из видео, двоичных файлов и телеметрии.
    • Ящики для инструментов: Он имеет набор инструментов глубокого обучения, который предоставляет простые команды MATLAB, используемые для построения и связывания слоев глубокой нейронной сети. Он имеет набор инструментов вычислительной биологии, который позволяет биологам строить и анализировать биологические модели.

    Подробнее: Почему будущее управления базами данных за открытым исходным кодом

    Плюсы и минусы MATLAB

    MATLAB предлагает пользователям множество преимуществ, что делает его таким эффективным инструментом. Он:

    • Оптимизировано для выполнения более быстрых матричных операций.
    • Относительно прост в освоении и имеет удобный интерфейс.
    • Имеет множество важных встроенных алгоритмов, которые могут потребоваться пользователям.
    • Объединяет расчеты с визуализацией, например с построением графиков.
    • Может использоваться как язык программирования или калькулятор.

    Кроме того, ошибки в MATLAB легко исправить, так как это не компилируемый, а интерпретируемый язык. Он также предоставляет пользователям платформу для выполнения символьных математических операций с использованием алгоритмов и инструментов символьного манипулирования.

    Однако следует помнить о некоторых ограничениях. Он предназначен для научных вычислений и поэтому не подходит для других приложений. MATLAB как интерпретируемый язык работает медленнее, чем другие компилируемые языки, такие как C++. Это не язык программирования общего назначения, такой как Fortran или C. Пользователи должны создавать разные файлы для разных функций, поскольку MATLAB не позволяет им создавать функции в одном файле . m, в отличие от других языков программирования.

    Наконец, большинство команд MATLAB не имеют прямого эквивалента в командах других языков программирования, поскольку эти команды предназначены только для использования в MATLAB. Это делает ваши навыки непередаваемыми. Прежде чем мы более подробно обсудим, как работает MATLAB, вот несколько программных приложений, предлагающих аналогичные функции: 

    • GNU Octave: Совместимость и вычислительные возможности аналогичны MATLAB.
    • Scalib : исходный код с открытым исходным кодом идентичен реализации MATLAB.
    • Максима: Используется для обработки выражений, таких как ряд Тейлора.
    • Юлия: Используется для проведения аналитики по количественным и вычислительным наукам.
    • Sage Math: Используется для анализа больших наборов данных.

    Подробнее: Что такое управление корпоративными данными (EDM)? Определение, важность и рекомендации

    Как работает MATLAB?

    Как язык программирования четвертого поколения, MATLAB в основном применяется в технических вычислениях. Он обеспечивает удобную для пользователя среду, позволяющую выполнять вычисления, визуализацию и функции программирования.

    Когда программа написана на MATLAB, она использует компилятор точно в срок, чтобы сделать написанную программу быстрой. После этого он назначает задачи математической обработки центральному процессору компьютера и оптимизирует библиотечные вызовы. Таким образом, это гарантирует, что программа решается более легко. Следующие компоненты обеспечивают работу MATLAB:

    1. Среда MATLAB

    Термин «среда MATLAB» относится к набору инструментов и инфраструктуры, доступных для пользователей на платформе MATLAB. В этот компонент включены возможности управления переменными в рабочей области, а также средства импорта и экспорта данных. Инструменты для организации, создания, отладки и профилирования M-файлов и программ, разработанных с помощью MATLAB, также доступны в среде.

    Среду MATLAB можно использовать как интерактивный калькулятор или как среду программирования. В режиме калькулятора встроенные функции, алгоритмы и наборы инструментов MATLAB предоставляют универсальную среду для выполнения вычислений и визуализации результатов с помощью графического построения. С другой стороны, MATLAB в режиме программирования имеет редактор, отладчик и профилировщик, которые позволяют пользователям писать свои функции и сценарии.

    2. Окна и панели

    Когда пользователи запускают MATLAB, появляется окно с несколькими панелями. В этом окне есть панель рабочей области, окно команд, панель текущего каталога и панель истории команд. В командном окне есть приглашение командной строки, используемое для запуска функций, работающих с переменными. Все переменные создаются и хранятся в рабочей области, где панель рабочей области позволяет пользователям легко получить к ним доступ.

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

    3. Массивы

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

    В режиме калькулятора можно изменить элементы массива, дважды щелкнув имя массива на панели рабочей области. Откроется редактор массива, который позволяет изменить массив вручную.

    Между тем, в режиме программирования вы можете изменить элементы, создав часть массива в левой части оператора присваивания. Пользователи могут удалить строку или столбец, поместив их в пустой массив. Матрица 0 x 0 аналогична пустому массиву.

    4. Переменные

    В MATLAB каждая переменная представляет собой массив или матрицу. Переменные в рабочей области видны из панели рабочей области. Пользователи также могут получить доступ к переменным с помощью команды who. Команда who отображает переменные, которые в настоящее время находятся в памяти, их типы, память, выделенную для каждой переменной, и являются ли они сложными переменными или нет. Файлы данных сохраняются в текущем каталоге, доступном через существующую панель каталогов, в формате .mat.

    5. Функции и сценарии

    В MATLAB функции используются для выполнения вычислительных задач. Они были созданы для улучшения основных функций MATLAB. Они взаимодействуют друг с другом только через аргументы, которые действуют как вход и выход. Функции имеют свое изолированное рабочее пространство для своих переменных. В режиме калькулятора пользователи могут записывать каждую строку функции одну за другой в командной строке, выполнять и копировать ее, если она работает должным образом.

    Сценарий относится к файлу, который состоит из нескольких последовательных строк команд MATLAB. В рабочей области скрипты используют переменные. Функции и сценарии состоят из текстовых файлов с расширением .m. Чтобы отличить функции от сценариев в MATLAB, ключевое слово «функция» появляется в первой строке текстового содержимого, в самом начале.

    6. Массивы N-D

    Лучи N-D — это многомерные массивы, используемые в MATLAB. Либо фундаментальные двумерные массивы расширяются для их создания, либо массивы строятся с нуля напрямую путем применения таких функций, как нули и единицы. Плотные массивы должны быть представлены массивами N-D, поскольку их нельзя хранить так же, как разреженные массивы.

    Узнать больше: Что такое безопасность данных? Определение, планирование, политика и лучшие практики

    5 Ключевые функции MATLAB

    Функция — это набор операторов, которые при объединении выполняют определенную работу или задачу. Функции MATLAB задаются в отдельных файлах, таких как файлы сценариев. Скачать MATLAB можно здесь. Имя функции и имя файла всегда должны быть сопоставимы.

    Обычно функции принимают более одного параметра и могут возвращать более одного аргумента после обработки этих аргументов. Переменные внутри рабочей области функции, известной как локальная рабочая область, зависят от операций функции. Это рабочее пространство отличается от базового рабочего пространства, доступ к которому можно получить с помощью командной строки MATLAB.

    В MATLAB функции могут быть созданы с использованием следующего синтаксиса: function [out1,out2, …, outN] = run (in1,in2,in3, …, inN). Из этой функции «выполнение» — это имя функции, которая принимает входные аргументы in1, in2…inN и возвращает выходные данные out1, out2…outN.

    Теперь обратимся к пяти типам функций MATLAB:

    1. Первичные функции

    Первичные функции обычно определяются в файле. Они перечислены первыми в файле функций. Кроме того, основные функции могут быть вызваны извне файла, в котором они определены, либо с помощью дополнительных функций, либо через командную строку.

    2. Подфункции

    Аналогичным образом подфункции определяются в файле. Дополнительные подфункции могут появляться после основных функций в файле. В отличие от основных функций, подфункции нельзя вызывать из других функций или командной строки вне файла, в котором они указаны. Они доступны для основной функции и дополнительных подфункций внутри файла функций, который определяет подфункции.

    3. Вложенные функции

    Вложенные функции определяются внутри другой функции или родительской функции. Вложенная функция может обращаться к переменным, объявленным родительской функцией, и изменять их. Они объявлены внутри контекста какой-то другой функции и имеют доступ к рабочей области родительской функции.

    4. Анонимные функции

    Функция определяется в MATLAB с помощью одного оператора. Он состоит из одного оператора MATLAB и неограниченного количества входных и выходных параметров. Можно создавать анонимные функции в командной строке или внутри скрипта или функции в MATLAB. Это позволяет пользователям создавать необходимые функции без создания отдельного файла. Таким образом, они не сохраняются в файлах программы.

    5. Частные функции

    Частные функции доступны только для небольшого подмножества других функций. Это тип основной функции, которая находится в подпапках, известных как «частные». Пользователи могут создавать частные функции, чтобы не раскрывать реализацию функции. Пользователи не могут вызывать частные функции из командной строки или за пределами своей родительской папки. Ниже приведены примеры основных функций MATLAB:

    • CLC: Очищает командное окно.
    • Сохранить («имя файла», «vars»): Сохраняет переменные в файл.
    • Str1 + str2: Добавляет строки.
    • Isreal(Z): Комплексное число, определяющее, является ли массив реальным.
    • Eye(n): Создает единичную матрицу размера n x n.

    Подробнее: 10 лучших инструментов управления данными на 2021 год

    Использование MATLAB

    MATLAB используется в нескольких отраслях, включая автомобилестроение, биотехнологии и фармацевтику, а также электронику, искусственный интеллект, робототехнику и связь. Это полезно для специалистов по данным, инженеров-механиков, экспертов по машинному обучению, специалистов по вычислительным финансам и ученых-исследователей. Ниже приведены области применения MATLAB:

    1. Аналитика данных

    Аналитика данных включает изучение и анализ данных для получения ценной информации. Анализ данных обычно выполняется с помощью программного обеспечения и инструментов. MATLAB предоставляет среду, в которой ученые, инженеры и ИТ-специалисты могут эффективно анализировать данные. Они также могут создавать системы аналитики больших данных, например, для финансового анализа.

    Организации могут использовать MATLAB для проведения экономической оценки. В нем есть инструменты, которые финансовые специалисты могут использовать для оценки таких факторов, как прибыльность, платежеспособность, ликвидность и организационная стабильность.

    2. Системы управления

    MATLAB предоставляет платформу, на которой пользователи могут легко управлять целыми системами и устройствами. Пользователи могут использовать MATLAB для создания системы управления для различных промышленных систем. Системы управления основаны на контуре управления. Через систему управления пользователи могут давать команды частям системы, управлять ими и регулировать их поведение.

    Например, инженеры могут создать систему управления с помощью MATLAB, которая позволит им легко управлять системами отопления. Кроме того, в MATLAB есть набор инструментов системы управления, который позволяет пользователям анализировать алгоритмы и приложения, а также проектировать линейные системы управления.

    3. Встроенные системы

    Встроенные системы относятся к компьютерным компонентам, состоящим более чем на 90% из аппаратного обеспечения и на 10% из программного обеспечения. Они предназначены для выполнения определенных задач. MATLAB имеет уникальную функцию «кнопки», которая генерирует код и запускает его на оборудовании после нажатия. Примерами встроенных систем являются микроволновые печи, камеры и принтеры.

    4. Управление двигателем и мощностью

    Алгоритмы управления двигателем помогают регулировать скорость и другие рабочие характеристики приложения. Алгоритмы MATLAB помогают с точным управлением, энергоэффективностью и защитой системы. На этапе разработки MATLAB может помочь пользователям сократить время разработки алгоритмов и сэкономить их средства, прежде чем приступать к дорогостоящему тестированию оборудования.

    5. Испытания и измерения

    Испытания и измерения электронных изделий являются стандартной производственной практикой. Во время этого процесса электронные продукты подвергаются различным испытаниям, чтобы гарантировать, что на рынок отправляются только качественные и стандартные продукты. Физические осмотры проводятся для выявления любых дефектов материалов, а также проводятся функциональные испытания, чтобы убедиться, что продукты работают должным образом.

    MATLAB позволяет инженерам выполнять задачи по тестированию и измерению электронных продуктов. Он предоставляет им необходимые инструменты и помогает автоматизировать задачи. Кроме того, они могут использовать MATLAB для визуализации в реальном времени и анализа данных, которые они собирают.

    Подробнее: Что такое каталог данных? Определение, примеры и передовой опыт

    6. Цифровая обработка сигналов

    Компьютеры и уникальные процессоры цифровых сигналов выполняют различные операции по обработке цифровых сигналов. Среда MATLAB упрощает пользователям использование методов обработки сигналов при анализе данных временных рядов. Он также обеспечивает унифицированный рабочий процесс для разработки потоковых приложений и встроенных систем.

    7. Робототехника и мехатроника

    Робототехника — это междисциплинарная область науки и техники, связанная с созданием роботов или человекоподобных машин. MATLAB предоставляет универсальную среду, в которой исследователи и инженеры-роботы могут проектировать роботов. Они могут использовать MATLAB для создания и настройки алгоритмов, автоматической генерации кодов и создания реальных систем моделей.

    Мехатроника объединяет научные области электроники и машиностроения. В мехатронных системах интегрированы электрические, механические, управляющие и встроенные программные подсистемы. MATLAB предоставляет универсальную среду, в которой инженеры-мехатроники могут проектировать и моделировать все эти подсистемы.

    8. Обработка изображений и компьютерное зрение

    Обработка изображений направлена ​​на обработку необработанных изображений для их подготовки к другим задачам, таким как компьютерное зрение. При обработке изображений пиксели изображения управляются путем изменения значений матрицы с помощью математических методов. Между тем, компьютерное зрение включает в себя просмотр изображений, как это делает человеческий глаз, а затем понимание и прогнозирование визуального вывода.

    MATLAB предоставляет среду, в которой может выполняться жизненно важный процесс построения алгоритмов и анализа изображений. Например, он включает в себя алгоритмы машинного обучения, поддерживающие приложения, которые улучшают изображения с помощью красоты лица и сканирования штрих-кодов. Цифровая обработка изображений также полезна при передаче, приеме и декодировании данных со спутников.

    9. Профилактическое обслуживание

    Инженеры разрабатывают методы профилактического обслуживания, чтобы определить состояние оборудования и выяснить, когда пользователи должны проводить техническое обслуживание. В MATLAB есть набор инструментов профилактического обслуживания, который инженеры могут использовать для выравнивания данных, разработки индикаторов состояния и оценки оставшегося срока полезного использования машины.

    10. Беспроводная связь

    Беспроводная связь предполагает соединение двух или более устройств с помощью беспроводного сигнала. Инженеры, работающие в команде, могут повысить производительность, работая с MATLAB. С MATLAB они могут сократить время разработки, поскольку они могут легко обмениваться идеями и устранять проблемы проектирования на раннем этапе, указывая на пропущенные ошибки. MATLAB также обеспечивает упрощенное тестирование и проверку беспроводных устройств.

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

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