Блокноты 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])
Для дальнейших вычислений удалите A
, B
, b
и 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