Как в mathcad задать массив
При вычислении большого массива изначально отображаются только первые 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 (Опции отображения).
Знаете ли Вы, что такое мысленный эксперимент, gedanken experiment?
Это несуществующая практика, потусторонний опыт, воображение того, чего нет на самом деле. Мысленные эксперименты подобны снам наяву. Они рождают чудовищ. В отличие от физического эксперимента, который является опытной проверкой гипотез, «мысленный эксперимент» фокуснически подменяет экспериментальную проверку желаемыми, не проверенными на практике выводами, манипулируя логикообразными построениями, реально нарушающими саму логику путем использования недоказанных посылок в качестве доказанных, то есть путем подмены. Таким образом, основной задачей заявителей «мысленных экспериментов» является обман слушателя или читателя путем замены настоящего физического эксперимента его «куклой» — фиктивными рассуждениями под честное слово без самой физической проверки.
Заполнение физики воображаемыми, «мысленными экспериментами» привело к возникновению абсурдной сюрреалистической, спутанно-запутанной картины мира. Настоящий исследователь должен отличать такие «фантики» от настоящих ценностей.
Релятивисты и позитивисты утверждают, что «мысленный эксперимент» весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: «Если факт не соответствует теории — измените факт» (В другом варианте » — Факт не соответствует теории? — Тем хуже для факта»).
Максимально, на что может претендовать «мысленный эксперимент» — это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие «мысленный эксперимент» придумано специально спекулянтами — релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим «честным словом». Подробнее читайте в FAQ по эфирной физике.
19. Программирование алгоритмов работы с массивами
Последовательность действий для создания программного фрагмента, предназначенного для обработки массива, такова:
Q в любой форме (например, в виде графической схемы) составить алгоритм решения задачи;
Q открыть все необходимые палитры;
Q задать исходный вектор чисел;
Q определить функцию для решения поставленной задачи в виде программного фрагмента следующим образом:
— набрать имя функции с двумя формальными параметрами: первый — размерность массива, второй – имя массива, а затем оператор «:=»;
— с помощью кнопки «Add Line» палитры программирования создать программный фрагмент с необходимым количеством строк;
Q в каждую строку программного фрагмента с помощью кнопок палитры
Программирования ввести шаблон оператора, реализующий ту или иную часть разработанного алгоритма, затем заполнить этот шаблон (для реализации цикла по номеру элемента массива I нужно использовать оператор цикла с предусловием While, если шаг изменения номера I Не равен 1);
Q в последней строке программного фрагмента набрать имя локальной переменной, содержащей результат вычисления;
Q вывести значение функции для заданных исходных данных, подставив в качестве фактических параметров количество элементов массива и имя определенного выше массива, с помощью оператора «=».
Пример 4.3. Дан вектор чисел произвольной длины. Используя программный фрагмент, вычислить произведение отрицательных элементов с четными номерами.
Схема алгоритма имеет вид:
Здесь X – исходный вектор, N – количество элементов этого вектора, I – номер текущего элемента вектора, P — произведение отрицательных элементов с четными номерами.
Реализация в MathCad:
- Главная
- Заказать работу
- Стоимость решения
- Варианты оплаты
- Ответы на вопросы (FAQ)
- Отзывы о нас
- Примеры решения задач
- Методички по математике
- Помощь по всем предметам
- Заработок для студентов
2. Работа с массивами
Ранжированная переменная отличается от вектора (одномерного массива) тем, что невозможно использование ее отдельных значений. При необходимости иметь доступ к каждому значению переменной со многими компонентами она должна быть задана в виде одномерного (вектора) и двумерного (матрицы) массива.
Местоположение элемента массива задается одним индексом для вектора и двумя для матрицы. Индексы могут быть только положительными целыми числами. Для ввода индекса используется знак « [ » — прямая открывающая скобка.
Для задания массивов можно либо воспользоваться командой Matrices меню Math, либо нажать комбинацию клавиш Ctrl+V, либо щелкнуть на значке с изображением шаблона матрицы. Любое из этих действий вызывает появление диалогового окна, в котором надо указать количество строк m и столбцов n в массиве. При m=1 получим вектор-столбец, а при n=1 — вектор-строку.
В отношении массивов действуют те же правила присваивания и вывода, что и для обычных переменных. В частности, с помощью оператора присваивания можно создать массив заданного размера и заданного типа без ручного заполнения шаблона (рисунок 2.1.).
Рис. 2.1 Пример создания матриц без использования шаблонов матриц
Для работы с массивами Mathcad содержит ряд операторов и функций. Ниже представлены операторы для работы с векторами и матрицами. В таблице используются следующие обозначения: V — для векторов, M — для матриц, Z — для скалярных величин.
