Как соединить массивы матлаб
Перейти к содержимому

Как соединить массивы матлаб

Курс Matlab. Часть 1 — Матричные операции

Profile picture for user lamazavr

Matlab — пакет прикладных программ для проведения вычислений и одноименный язык программирования. Изначально эта программа развивалась именно как ПО для работы с матрицами (облегчения машинного решения матричных уравнений) — Matrix Laboratory.

Что нужно знать новичку.

Как задать матрицу в матлаб?

Указанная команда объявляет матрицу 3 на 3. Матрица (массив — матрица с одной строкой) объявляется при помощи квадратных скобок, строки разделяются точкой с запятой.

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

Для сложения, вычитания матриц используют + и —
Для поэлементного сложения .+
поэлементного умножения .* и т.д.

Как умножить (разделить) матрици?

Умножать матрици очень просто. Для это воспользуйтесь обычным оператором *

Для работы с матрицами предусмотрены операции левого и правого деления (ведь в случае матриц от перемены мест многое меняется).

Для деления матриц вы можете использовать слэши или же умножение матриц:

Пример для матриц объявленных выше:

Логические операции для матриц

В матлаб есть возможность использовать логические операции для матриц. При этом все что не ноль — true.
Оперция или:
Обозначается вертикальной чертой или or(a,b)

Операция И:
Обозначается амперсандом или функцией and(a,b)

Как найти элементы в массиве?

Поиск элементов по условию:

Выведены номера элементов. Т.е. первый, второй и пятый больше или равны двум.
Напомню, что массивы в матлаб нумеруются с единицы.

Как же получить элементы по номерам?

Проверка массивов на соответствие условию.

Если хотя бы один элемент удовлетворяет условию — возвращена будет единица.

Создание, конкатенация и расширение матрицы

Самая основная структура данных MATLAB® является матрицей. Матрица A является двумерным, прямоугольным массивом элементов данных, расположенных в строках и столбцах. Элементами могут быть числа, логические значения ( true или false ), даты и времена, строки или некоторый другой тип данных MATLAB.

Даже один номер хранится как матрица. Например, переменная, содержащая значение 100, хранится как матрица 1 на 1 типа double .

Построение матрицы данных

Если у вас есть определенный набор данных, можно расположить элементы в матрице с помощью квадратных скобок. Одна строка данных имеет пробелы или запятые между элементами, а точка с запятой разделяет строки. Например, создайте одну строку четырех числовых элементов. Размер получившейся матрицы 1 на 4, поскольку она имеет 1 строку и 4 столбца. Матрица A этой формы часто упоминается как вектор-строка.

Теперь создайте матрицу с теми же числами, но расположите их в двух строках. Эта матрица имеет две строки и два столбца.

Специализированные матричные функции

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

diag функционируйте помещает входные элементы в диагональ матрицы. Например, создайте вектор-строку A содержащий четыре элемента. Затем создайте матрицу 4 на 4, диагональными элементами которой являются элементы A .

Конкатенация матриц

Можно также использовать квадратные скобки, чтобы соединить существующие матрицы вместе. Этот способ создать матрицу называется конкатенацией . Например, конкатенируйте два вектора-строки, чтобы сделать еще более длинный вектор-строку.

Располагать A и B как две строки матрицы, используйте точку с запятой.

Чтобы конкатенировать две матрицы, у них должны быть совместимые размеры. Другими словами, когда вы конкатенируете матрицы горизонтально, у них должно быть одинаковое число строк. Когда вы конкатенируете их вертикально, у них должно быть одинаковое число столбцов. Например, горизонтально конкатенируйте две матрицы, что у обоих есть две строки.

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

Генерация числовой последовательности

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

Можно использовать оператор двоеточия, чтобы создать последовательность чисел в любой области значений, с единичным шагом.

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

Чтобы постепенно уменьшиться, используйте отрицательное число.

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

Расширение матрицы

Можно добавить один или несколько элементов в матрицу путем размещения их за пределами существующих контуров индекса строки и столбца. MATLAB автоматически заполняет матрицу нулями, чтобы сохранить его прямоугольным. Например, создайте матрицу 2 на 3 и добавьте дополнительную строку и столбец в него путем вставки элемента в (3,4) положение.

Можно также расширить размер путем вставки новой матрицы за пределами существующих областей значений индекса.

Расширять размер матрицы неоднократно, такой как в for цикл, обычно лучше предварительно выделить место для самой большой матрицы, которую вы ожидаете создавать. Без предварительного выделения MATLAB должен выделить память каждый раз увеличения размера, замедлив операции. Например, предварительно выделите матрицу, которая содержит до 10 000 строк и 10 000 столбцов путем инициализации ее элементов, чтобы обнулить.

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

Пустые массивы

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

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

Похожие темы

Открытый пример

У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

Документация MATLAB

Поддержка

© 1994-2021 The MathWorks, Inc.

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

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

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

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