Как задать массив в маткаде
Перейти к содержимому

Как задать массив в маткаде

  • автор:

Как задать массив в маткаде

• augment(A, B, C, . ) : возвращает массив, сформированный перемещением переменной A, B, C, . слева направо.

• stack(A , B, C, . ) : возвращает массив, сформированный перемещением переменной A, B, C, . сверху вниз.

• submatrix(A, ir, jr, ic, jc) : возвращает матрицу, состоящую из строк с ir по jr и столбцов с ic по jc массива A .

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

• A, B, C , . являются архивами с одинаковым количеством строк для augment либо с одинаковым количеством столбцов для stack .

A, B, C , . могут быть скалярами и однострочными векторами для augment либо скалярами и одностолбцовыми векторами для stack .

Как задать массив в маткаде

При вычислении большого массива изначально отображаются только первые 12 строк и столбцов массива. На наличие в массиве других элементов указывают три точки в верхнем левом или нижнем правом углах массива. Чтобы просмотреть скрытые элементы, измените размер массива. Кроме того, можно просматривать индексы строки и столбца. Нумерация индексов элементов массива по умолчанию начинается с нуля. Начальное значение индекса можно изменить путем изменения встроенной переменной ORIGIN .

• Для ORIGIN=0 последний индекс вектора равен length(v) -1 .

• Переменная-диапазон, которая начинается со значения, большего ORIGIN , или заканчивается значением, меньшим длины массива, не охватывает все элементы массива.

• Значение переменной ORIGIN определяет, какие элементы массива могут существовать. Например, если используются настройки по умолчанию, не может существовать элемент массива с индексом –1. При вычислении выражения M -1 отобразится сообщение об ошибке.

Дополнительная информация

Системную переменную ORIGIN можно рассматривать как скрытый аргумент некоторых функций и операторов. В зависимости от значения ORIGIN такие функции и операторы возвращают разные результаты.

Следующие функции явным образом требуют указания индекса строки или столбца.
• Функции поиска — hlookup и vlookup .
• Функции сортировки — csort и rsort .
• Функции обработки изображений — subcolor , dilate, gray_dilate, erode и gray_erode .

Следующие функции не требуют указания индекса строки или столбца, но тем не менее зависят от значения ORIGIN .

• Антисимметричная тензорная функция ε .

Следующие операторы требуют указания индекса строки или столбца, и их результат зависит от значения ORIGIN .

Создание массивов MathCAD

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

Создание матрицы командой Insert Matrix

Самый простой и наглядный способ создания вектора или матрицы заключается в следующем:

  • Нажмите кнопку Matrix or Vector (Матрица или вектор) на панели Matrix (Матрица) (рис. 4.12) либо клавиши +, либо выберите пункт меню Insert / Matrix (Вставка / Матрица).
  • В диалоговом окне Insert Matrix (Вставка матрицы) задайте целое число столбцов и строк матрицы, которую хотите создать. Например, для создания вектора 3×1 введите показанные на рис. 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 (Опции отображения).

Знаете ли Вы, что любой разумный человек скажет, что не может быть улыбки без кота и дыма без огня, что-то там, в космосе, должно быть, теплое, излучающее ЭМ-волны, соответствующее температуре 2.7ºК. Действительно, наблюдаемое космическое микроволновое излучение (CMB) есть тепловое излучение частиц эфира, имеющих температуру 2.7ºK. Еще в начале ХХ века великие химики и физики Д. И. Менделеев и Вальтер Нернст предсказали, что такое излучение (температура) должно обнаруживаться в космосе. В 1933 году проф. Эрих Регенер из Штуттгарта с помощью стратосферных зондов измерил эту температуру. Его измерения дали 2.8ºK — практически точное современное значение. Подробнее читайте в FAQ по эфирной физике.

Как задать массив в маткаде

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

Создание матрицы командой Insert Matrix

Самый простой и наглядный способ создания вектора или матрицы заключается в следующем:

  • Нажмите кнопку Matrix or Vector (Матрица или вектор) на панели Matrix (Матрица) (рис. 4.12) либо клавиши +, либо выберите пункт меню Insert / Matrix (Вставка / Матрица).
  • В диалоговом окне Insert Matrix (Вставка матрицы) задайте целое число столбцов и строк матрицы, которую хотите создать. Например, для создания вектора 3×1 введите показанные на рис. 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 (Опции отображения).

Иллюстрированный самоучитель по MathCAD 11

Любой из этих способов позволяет присвоить нужное значение как всем элементам массива (см. листинг 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 (Опции отображения).

2 Основы работы в MathCad

Рабочее поле программы представляет из себя безразмерное полотно, состоящее из множества листов, разделенных линиями. Формат листа и размеры полей задаются в меню File►Page Setup. Набирать документ можно перемещаясь с листа на лист вправо или вниз. Но следует помнить, что вычисления в MATHCAD происходят строго слева направо и сверху вниз в рамках всего полотна.

Переменные можно обозначать буквами английского, русского и греческого алфавитов. Имя переменной может состоять из любого количества букв, может содержать цифры (только не первым символом). Прописные и строчные переменные считаются разными (например, Х и х). С помощью горячей клавиши «.» на русском шрифте можно установить текстовый индекс рядом с переменной (например, Ne или R1). Обозначение функций осуществляется как в математике (например, f(x)).

Для задания числового значения или формулы для переменной необходимо после имени переменной набрать знак присваивания «:=». Для вывода значения переменной на экран следует набрать знак «=».

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

Все комментарии выполняются в текстовой области, которая вызывается с помощью меню Insert►Text Region.

Рекомендуется при наборе документа переходить на следующий лист, расположенный внизу, а не справа, во избежание возможных «пересечений» расчетов и формул, и как следствие возникновения ошибок или искажения результатов. Это связано с порядком проведения вычислений в MATHCAD, о чем говорилось выше.

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

3 Задание и обработка массивов

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

3.1 Обозначение массивов и элементов массивов

Массивы можно обозначать аналогично обычным переменным, как это рассматривалось в разделе 2. Элементы массива указываются с индексом (например, A1 или xi,j), который ставится с помощью знака «Xn» с панели Matrix. Следует различать текстовый индекс и индекс элемента массива.

За начало нумерации элементов массива отвечает встроенная переменная ORIGIN, имеющая по умолчанию значение 0. Для изменения значения данной переменной можно воспользоваться командой меню Tools►Worksheet Options или набрать команду в документе (например, ORIGIN:=1).

3.2 Задание массивов

Создать массив в MATHCAD можно тремя способами:

– с помощью шаблона, вызываемого через меню Insert►Matrix. При этом появляется окно, где можно задать количество строк и столбцов будущего массива. Данный способ самый наглядный.

– с помощью дискретной переменной. При этом должна быть известна формула вычисления массива. Например,

Работа с массивами в MathCad

Формат *.prn является одним из форматов данных, с которыми работает MathCad, и представляет собой структурированный ASCII-файл. Такой файл является текстовым и содержит цифровые значения, причем между числами в каждой строке ставится разделитель.

В качестве разделителя могут выступать

· пробелы (один или несколько);

Переход на следующую строчку осуществляется с помощью .

Для отделения целой части числа от десятичной используется точка, а не запятая.

Для подключения *.prn-файла в MathCad необходимо, чтобы количество знаков в каждом числе не превышало 15. Если число содержит степень, то оно записывается в инженерном формате, например: 1.234∙10 -6 записывается как 1.234E-6.

Число элементов во всех строках должно быть одинаковым.

ЗАДАНИЕ: По данным таблицы 1 полученного задания сформировать в редакторе «Блокнот» файл data.prn с разделителями-табуляцией.

‑ данные из таблицы переносятся в виде, приведенном на рисунке 1:

Рисунок 1 – Структура файла data.prn а) при зависимости R и L от частоты; б) при зависимости R и L от расстояния между проводниками

‑ для установки табуляции используется клавиша ;

‑ после набора значений файл сохраняется в рабочий каталог с именем data. После этого необходимо в проводнике (или любом другом файловом менеджере) изменить расширение файла с *.txt на *.prn.

2 Чтение данных из *.prn-файла в MathCad

Для корректной работы с *.prn-файлом в MathCad, оба файла ‑ файл MathCad (*.mcd или *.xmcd) и текстовый файл с данными (*.prn) ‑ должны располагаться в одном каталоге.

Чтение данных из структурированного файла data.prn осуществляется с помощью функции READPRN(“data.prn”). Функция возвращает матрицу, содержащую числовые данные, записанные в файле data.prn.

ЗАДАНИЕ: Считать данные из файла data.prn в матрицу TData.

‑ в новом документе MathCad считать данные из файла и результат операции присвоить переменной TData;

‑ для присвоения переменной некоторого значения используется оператор присвоения := (вызов в явном виде по сочетанию горячих клавиш Shift+«;»);

Другой способ вызова оператора присвоения в явном виде (рисунок 2):

‑ выбрать в меню Вид->Панели Инструментов->Калькулятор (если не стоит галочка);

‑ в окне с инструментами «Калькулятор» выбрать символ :=

Рисунок 2‑ Вставка оператора присвоения через окно с инструментами

Работа с массивами в MathCad

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

‑ матрицу (или как частный случай – вектор-столбец или вектор-строку), например

Для задания матрицы в явном виде необходимо выполнить следующие операции (рисунок 3):

‑ выбрать в меню Вставка->Матрица (или нажать сочетание горячих клавиш Ctrl+«M»);

‑ в появившемся диалоговом окне указать размерность матрицы;

‑ заполнить появившуюся матрицу значениями.

Рисунок 3 – Вставка матрицы в явном виде

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

Для указания нижнего индекса необходимо нажать горячую клавишу [

ЗАДАНИЕ: В отдельном файле MathCad сформировать следующие массивы:

‑ массив A 5х2, содержащую ряд последовательных значений от 0 до 9;

‑ массив B 2х5, содержащую ряд последовательных значений от 10 до 19;

‑ вектор-строку C из 5 элементов c рядом последовательных значений от 0 до 4;

‑ вектор-столбец D из 5 элементов с рядом последовательных значений от 5 до 9.

Вывести на печать результаты вычислений по вариантам из таблицы:

Предпоследняя цифра зачетки
Последняя цифра зачетки

‑ в MathCad счет начинается не с 1, а с 0, поэтому первый элемент вектора имеет индекс 0, элемент A11 матрицы А – А0,0.

Похожие публикации:

  1. Автокад vba enabler что это
  2. Выражение переопределяет встроенную единицу измерения mathcad как исправить
  3. Как в автокаде ввести координаты точек земельного участка
  4. Как в автокаде сделать автоматическую нумерацию листов

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

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