Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Массивы представляют структуры многомерных данных. Можно использовать только целые числа в индексах массива. Чтобы сгенерировать массив, используйте array команда:
A := array(0..2, 0..3); B := array(0..2, 0..3, 0..4)

array(0..2, 0..3, 0..4)
Для двумерных массивов первая область значений задает количество строк, вторая область значений задает количество столбцов. Области значений для индексов массива не обязательно запускаются с 0 или 1:
A := array(3..5, 1..2)

Чтобы получить доступ к записи массива, используйте скобки или _index:
A := array(0..1, 0..2, [[1, 2, 3], [a, b, c]]); A[0, 2]; _index(A, 1, 1)
![]()
![]()
![]()
Создайте массив случайных чисел:
A := array(1..3, 1..4, [frandom() $ i = 1..12]); domtype(A)

![]()
Чтобы получить доступ к области значений записей массива, сначала преобразуйте массив в матрицу:
B := matrix(A); domtype(B)

![]()
Используйте области значений индексов, чтобы получить доступ к записям матрицы. Результатом является также матрица.
b := B[1..2,1..3]; domtype(b)
![]()
![]()
Преобразовывать матричный b к массиву используйте coerce функция:
a := coerce(b, DOM_ARRAY); domtype(a)
![]()
![]()
В качестве альтернативы можно индексировать в массив при помощи этой команды:
array(1..2, 1..3,[A[i, j] $ j = 1..3 $ i = 1..2])
![]()
Для дальнейших расчетов удалите ABB, и a:
delete A, B, b, a
Массивы MuPAD® поддерживают следующие операции:
Присвоение значений к записям массивов
Сравнение массивов
MuPAD не поддерживает арифметические операции на массивах.
Можно присвоить значения записям массива:
A := array(0..1, 0..2): A[0, 0] := 1: A[0, 1] := 2: A[0, 2] := 3: A[1, 0] := a: A[1, 1] := b: A[1, 2] := c: A
![]()
Также можно ввести значения записей при создании массива:
A := array(0..1, 0..2, [[1, 2, 3], [a, b, c]]);
B := array(1..2, 1..3, 1..5, [[[[i, j, k] $ k=1..5 ]
$ j=1..3] $ i=1..2]):
B[2,3,4]![]()
![]()
MuPAD принимает вложенные и плоские списки как записи массива:
array([[1, 2, 3], [a, b, c]]); array(1..2, 1..3, [1, 2, 3, a, b, c]);
![]()
![]()
При сравнении массивов MuPAD сравнивает и индексы и значения записей. По умолчанию индексы запускаются с 1:
A1 := array([[1, 2, 3], [a, b, c]]): A2 := array(0..1, 0..2, [1, 2, 3, a, b, c]): A3 := array(1..2, 1..3, [1, 2, 3, a, b, c]): bool(A1 = A2); bool(A1 = A3)
![]()
![]()
Вы не можете использовать арифметические операции на массивах:
A1 + A2
Error: Invalid operand. [_plus]
Чтобы использовать арифметические операции, преобразуйте массивы в матрицы. Для числовых данных также можно использовать Массивы с Аппаратными Числами с плавающей запятой.
Чтобы заменить запись массива, получите доступ к записи ее индексом и присвойте новое значение записи:
A := array(0..1, 0..2, [[1, 2, 3], [a, b, c]]): A[0, 2] := NewValue: A
![]()
Чтобы удалить записи из массива, используйте delete команда. Когда вы удаляете запись массива, размерности массива не изменяются. MuPAD изменяет входное значение, которое вы удаляете к NIL:
A := array(0..1, 0..2, [[1, 2, 3], [a, b, c]]): delete(A[0, 2]): A
![]()
Чтобы создать массив аппаратных чисел с плавающей запятой, используйте hfarray команда. Массив может содержать комплексные числа с плавающей запятой:
A := hfarray(0..1, 0..2, [[1, 2/3, I/3], [I, exp(1), PI]])

Массивы аппаратных чисел с плавающей запятой используют меньше памяти, чем регулярные массивы и матрицы. Можно использовать основные арифметические операции на этих массивах:
A + 2*A
