|
4.3.3. Создание массивов
Существует несколько способов создания массива:
- ввод всех элементов вручную с помощью команды Insert Matrix;
- определение отдельных элементов массива;
- создание таблицы данных и ввод в нее чисел;
- применение встроенных функций создания массива (см. гл. 9);
- создание связи с другим приложением, например Excel или MATLAB;
- чтение из внешнего файла данных;
- импорт из внешнего файла данных.
Рассмотрим основные способы создания массива, учитывая, что две последних возможности будут разобраны в последней части книги Применяйте способ, который оптимален в смысле простоты и читаемости конкретного документа, либо ставший наиболее для Вас привычным.
Создание матрицы командой Insert Matrix
Самый простой и наглядный способ создания вектора или матрицы заключается в следующем:
- Нажмите кнопку Matrix or Vector (Матрица или вектор) на панели
Matrix (Матрица) (рис. 4.12) либо клавиши <Ctrl>+<M>, либо выберите
пункт меню Insert / Matrix (Вставка / Матрица).
- В диалоговом окне Insert Matrix (Вставка матрицы) задайте
целое число столбцов и строк матрицы, которую хотите создать. Например, для
создания вектора 3x1 введите показанные на рис. 4.12 значения.
- Нажмите кнопку ОК или Insert (Вставить) — в результате в
документ будет вставлена заготовка матрицы с определенным числом строк и столбцов
(рис. 4.13).
- Введите значения в местозаполнители элементов матрицы. Переходить
от одного элемента матрицы к другому можно с помощью указателя мыши либо клавиш
со стрелками.
Добавление в уже созданную матрицу строк или столбцов производится точно так же:
- Выделите линиями ввода элемент матрицы, правее и ниже которого
будет осуществлена всгавка столбцов и (или) строк.
- Вставьте в него матрицу, как было описано выше. При этом
допускается задание числа столбцов или строк равным нулю (рис. 4.14).
- Заполните местозаполнители недостающих элементов матрицы.
Рис. 4.12. Вставка матрицы
Рис. 4.13. Заполнение матрицы элементами
На рис. 4.14 и 4.15 показаны результаты последовательной вставки
в матрицу столбца и строки после определения соответствующего числа столбцов
и строк в диалоге Insert Matrix и нажатия в нем кнопки Insert (Вставить).
Рис. 4.14. Добавление одного столбца к матрице
Рис. 4.15. Добавление одной строки к матрице
В местозаполнители элементов матрицы можно вставлять не только числа (действительные или комплексные), но и любые математические выражения, состоящие из переменных, операторов, встроенных и пользовательских функций (листинг 4.16, вторая строка).
Листинг 4.16. Использование переменных и функций при определении матрицы

Создание массива определением его отдельных элементов
Массив можно определить следующим образом:
- присваивая значения непосредственно отдельным элементам массива;
- применяя ранжированные переменные (см. листинг 4.15).
Любой из этих способов позволяет присвоить нужное значение как всем элементам массива (см. листинг 4.15), так и части из них, либо даже одно-му-единственному элементу. В последнем случае создается массив, размерность которого задается индексами введенного элемента (листинг 4.17), а неопределенным элементам по умолчанию присваиваются нулевые значения.
Листинг 4.17. Создание матрицы определением одного ее элемента.

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

Создание тензора
Определение отдельных элементов — удобный способ создания тензоров (многоиндексных массивов). В Mathcad имеется непосредственная возможность работы только с векторами и матрицами. Тем не менее, можно создать тензор путем определения вложенного массива (nested array). Для этого необходимо присвоить каждому элементу матрицы значение в виде другого вектора или матрицы (листинг 4.19). Пользователь должен лишь позаботиться о корректности задания индексов тензора и не запутаться в индексировании вложенных матриц (последняя строка листинга).
Листинг 4.19. Создание тензора и доступ к его элементам

Процесс создания тензора автоматизирует применение ранжированных переменных.
Обратите внимание, что Mathcad по умолчанию не отображает трехмерную структуру тензора (предпоследняя строка листинга 4.19), а вместо этого показывает информацию о размерах каждого элемента матрицы s. Развернуть вложенные массивы можно с помощью команды Format / Result / Display Options (Формат / Результат / Опции отображения), устанавливая флажок Expand Nested Arrays (Разворачивать вложенные массивы) на вкладке Display Options (Опции отображения).
|