logo
Для моделирования в Matlab и Scilab

Создание и использование массивов

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

Пример

»v=[1 5 3]

v=

1 5 3

В этом примере мы задали вектор v (одномерный массив) со значениями элементов 1, 5, 3. Задание матрицы (двухмерного массива) требует указания различных строк. Для различения строк используется ; (точка с запятой).

Пример

» m=[1 3 2; 5 6 4; 6 7 8]

m=

1 3 2

5 6 4

6 7 8

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

Пример

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

»m(1,1)=5;

»m(3,3) = m(1,1) + m(3,3);

»m=

5 2 3

4 5 6

7 8 14

Для формирования упорядоченных числовых последовательностей в MATLAB применяется оператор : (двоеточие):

Начальное_значение: Шаг: Конечное_значение

Данная конструкция порождает последовательность (массив) чисел, которая начинается с начального значения, идет с заданным шагом и завершается конечным значением. Если шаг не задан, то он принимает значение 1.

Пример

»i=1:6

i=

1 2 3 4 5 6

»x=0:0.5:3

x=

0 0.5000 1.0000 1.5000 2.0000 2.500 3.0000

»x=3:-0.5:0

x=

3.000 2.5000 2.0000 1.5000 1.0000 0.5000 0

Оператор ( : ) использует следующие правила для создания векторов:

Ниже показано, как выбирать с помощью оператора ( : ) строки, столбцы и элементы из векторов, матриц и многомерных массивов:

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

[.] – горизонтальная конкатенация. Так, [А.В] – горизонтальная конкатенация (объединение) матриц А и В. А и В должны иметь одинаковое количество строк. [А В] действует аналогично. Горизонтальная конкатенация может быть применена для любого числа матриц в пределах одних скобок: [А,В,С]. Горизонтальная и вертикальная конкатенации могут использоваться одновременно: [А,В:С].

[:] – вертикальная конкатенация. Так, [А:В] – вертикальная конкатенация (объединение) матриц А и В. А и В должны иметь одинаковое число столбцов. Вертикальная конкатенация может быть применена для любого числа матриц в пределах одних скобок: [А:В:С]. Горизонтальная и вертикальная конкатенации могут использоваться одновременно: [А:В,С].

Перенос строк. Комментарии

Если для выражения не хватает одной строки или мы не желаем заходить в невидимую область окна, то выражение можно перенести на новую строку с помощью многоточия … (3 точки).

Комментарий в системе Matlab должен начинаться символом %. В Scilab комментарий задаётся двойной косой чертой //.

      1. Матричные операции

Создание единичной матрицы

Для создания единичной матрицы (она обычно обозначается как Е) служит функция eye:

Создание матрицы с единичными элементами

Для создания матриц, все элементы которых — единицы, используется функция ones:

Создание матрицы с нулевыми элементами

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

Суммирование элементов. Вычисление минимального и максимального элемента

Определены следующие функции суммирования элементов массивов:

Matlab

Scilab

sum(A) — возвращает сумму элементов массива, если А — вектор, или вектор-строку, содержащую сумму элементов каждого столбца, если А — матрица

sum(A [,fl]) - вычисляет сумму элементов массива X, имеет необязательный параметр fl. Если параметр fl отсутствует, то функция sum(A) возвращает скалярное значение, равное сумме элементов массива. Если fl=’r’, то функция вернет строку, равную поэлементной сумме столбцов матрицы A. Если fl=’с’, то результатом работы функции будет вектор-столбец, каждый элемент которого равен сумме элементов строк матрицы A.

max (A) — возвращает максимальный элемент массива, если А — вектор, или вектор-строку, содержащую максимальный элемент каждого столбца, если А — матрица

max(A [,fl]) - вычисляет наибольший элемент в массиве A, имеет необязательный параметр fl (аналогично функции sum)

min (A) — возвращает минимальный элемент массива, если А — вектор, или вектор-строку, содержащую минимальный элемент каждого столбца, если А — матрица

min(A [,fl]) - вычисляет наименьший элемент в массиве A, работает аналогично функции max