25618-1 (Входной язык системы MathCAD 7. 0), страница 2
Описание файла
Документ из архива "Входной язык системы MathCAD 7. 0", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "25618-1"
Текст 2 страницы из документа "25618-1"
Рис. 11. 1 Особенности локального и глобального присваивания переменным их числовых значений
Переменные могут использоваться в математических выражениях, быть аргументами функций или операндом операторов. Далее мы рассмотрим особые виды переменных, в частности индексированные (элементы векторов и матриц), а также переменные с заданными пределами их изменения (ранжированные переменные).
Статус присваивания не следует путать со статусом самих переменных. Все переменные, описанные выше, являются глобальными, поскольку можно определять их в любом месте документа и также в любом месте изменять их значение. Локальные переменные в системе MathCAD содержатся в телах функций пользователя. Эти функции будут рассмотрены ниже.
Переменные могут быть и размерными, т. е. характеризоваться не только своим значением, но и указанием физической величины, значение которой они хранят. Для присваивания значений таким переменным используется знак =. На рис. 11. 2 представлены примеры работы с размерными переменными.
Проведение расчетов с размерными величинами и переменными особенно удобно при решении различных физических задач. При этом правильная
Рис. 11. 2 Примеры задания и применения размерных переменных
размерность результата является дополнительным фактором, свидетельствующим о корректности таких расчетов
Использование незаданной переменной ошибочно Такая переменная отмечается красным цветом (в предшествующих версиях MathCAD — черным фоном) Использование несуществующих переменных в математических выражениях может привести к различным ошибкам Все они диагностируются и требуют исправления для продолжения вычислений
11. 2. Ранжированные переменные и таблицы вывода
Задание ранжированных переменных
Ранжированные переменные — особый класс переменных, который в системе MathCAD зачастую заменяет управляющие структуры, называемые циклами (однако полноценной такая замена не является) Эти переменные имеют ряд фиксированных значений (либо целочисленных, либо в виде чисел), с определенным шагом меняющихся от начального значения до конечного.
Ранжированные переменные характеризуются именем и индексом каждого своего элемента Для создания ранжированной переменной целочисленного типа используется выражение
Name Nbegin Nend
где Name — имя переменной, Nbegin — ее начальное значение, Nend — конечное значение, — символ, указывающий на изменение переменной в заданных пределах (он вводится знаком точки с запятой,). Если Nbegin < Nend, то шаг изменения переменной будет равен+ 1, в противном случае -1
Для создания ранжированной переменной общего вида используется выражение
Name = Nbegin, (Nbegin+ Step) Nend
Здесь Step — заданный шаг изменения переменной (он может быть положительным, если Nbegin < Nend или отрицательным в противном случае).
Таблицы вывода
Ранжированные переменные широко применяются для представления числовых значений функций в виде таблиц, а также для построения их графиков. Любое выражение с ранжированными переменными после знака равенства инициирует таблицу вывода. Несколько таких таблиц показано на рис. 11. 3.
Рис. 11. 3 Примеры типового применения ранжированных переменных
Полезно учитывать некоторые свойства таблиц вывода:
• число строк в них не может быть больше 50 (большие таблицы придется составлять из нескольких малых);
• числа в таблицах можно задавать в требуемом формате с помощью операций задания формата чисел;
• при использовании в таблице единиц размерности все данные таблицы будут содержать единицы размерности (поделите результат с размерными переменными на размерность для указания ее только в заголовке таблицы вывода);
Есть три способа показать значения векторов:
Х, = выводится обычная таблица вывода;
Х= выводится вектор, если число его элементов меньше 10;
Х= выводится таблица вывода со слайдером, если число элементов вектора больше 10.
В таблицы вывода можно и вставлять числовые значения, и корректировать их. Естественно, это меняет значения элементов соответствующего вектора.
Применение ранжированных переменных
Важно отметить, что в сущности задание ранжированных переменных эквивалентно заданию конечных циклов. Сами ранжированные переменные являются векторами, что видно из выдачи их значений (столбец со всеми значениями переменных). Это означает, что объем памяти, занимаемый такими переменными, больше занимаемого обычными переменными.
Индексированные переменные, образующиеся в результате задания ранжированных переменных, могут применяться в последующих фор-мульных блоках. Однако в этих блоках необходимо соблюдать соответствие результатов (конечных и промежуточных) векторному типу этих переменных.
Привыкшие к обычному программированию пользователи часто забывают, что ранжированная переменная — вектор. Поэтому они пытаются выполнять с такими операциями действия, корректные лишь для обычных (скалярных) переменных. Например, задают выражение вроде f: =i* 2, используя обычную переменную f, что приведет к явной ошибке — система укажет (красным цветом), что f не соответствует векторному типу. Однако если использовать выражение, например, вида
f,: = i^2
то будет получен новый вектор с именем f, элементы которого в нашем случае являются квадратами значений элементов вектора i. Более подробно особенности задания и применения векторов рассматриваются далее.
Ранжированные переменные широко применяются при построении графиков. Например, для построения графика некоторой функции f (x) прежде всего надо позаботиться о создании ряда значений переменной х, для этого она должна быть ранжированной.
11. 3. Массивы, векторы и матрицы
Понятие о массивах
Важным типом данных в системе MathCAD являются массивы. Массив — имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных заданным образом и имеющих определенные адреса. В системе MathCAD используются массивы двух наиболее распространенных типов: одномерные (векторы) и двумерные (матрицы).
Массивы-векторы
Ниже представлено три пятиэлементных массива-вектора:
Номер элемента 0 1 2 3 4 Значение О 1 4 9 16 Значение а Ь с d e Значение 0 х 2* x^2 3*x^3 4* х4
Первый из представленных массивов — числовой, два других — символьные.
Индексация элементов массивов
Порядковый номер элемента, который является его адресом, называется индексом. Напоминаем, что нижняя граница индексации задается значением системной переменной ORIGIN, которая может принимать значение 0 или 1.
Имя массива естественно увязать с именами индексированных переменных, значениями которых являются элементы массива. Для этого достаточно в виде подстрочного индекса указать индекс элемента. Например, если третий из представленных массивов имеет имя V, то его элементами при ORIGIN=0 будут индексированные переменные:
Vo=0 V1=x V2=2x2 Vз-Зх3 V4=4x4
Векторы могут быть двух типов: векторы-строки и векторы-столбцы. Например:
Несмотря на то что два этих вектора имеют одни и те же числовые значения элементов, они различны по типу и дадут разные результаты при векторных и матричных операциях, чувствительных к типу векторов.
Матрицы
Матрица может рассматриваться как совокупность ряда векторов одинаковой длины, например:
Элементы матриц являются индексированными переменными, имена которых совпадают с именами матриц. Но в этом случае для каждой индексированной переменной указываются два индекса: один — для номера строки, другой — для номера столбца. Например, для указанной матрицы М средний элемент обозначается как М1,1, а последний как М;2,2
Для задания векторов и матриц можно воспользоваться операцией Matrix... (Матрицы...) в позиции Math (Математика) основного меню, нажав клавиши Ctrl+V или введя пиктограмму с изображением шаблона матрицы. Это вызывает вначале появление диалогового окна, в котором надо указать размерность матрицы, т. е. количество ее строк т и столбцов п. Для векторов один из этих параметров должен быть равен 1. При m=1 получим вектор-столбец, а при п=\ — вектор-строку. Матрица является двумерным массивом с числом элементов тхп. Элементы векторов и матриц помещаются между большими квадратными скобками.
Ввод элементов векторов и матриц
Для указания подстрочных индексов после имени переменной вводится знак открывающей квадратной скобки:
Ввод Изображение в окне
V3 [ 2 : V32 :=
Для элементов матрицы подстрочные индексы вводятся в круглых скобках с разделением их запятыми:
Ввод Изображение в окне редактирования
М [ ( 1, 2 ) : M1,2 : =
Индексы могут иметь только целочисленные значения Они могут начинаться с нуля или с целого числа, например с единицы, в соответствии со значением системной переменной ORIGIN
Задание векторов и матриц
В отношении индексированных переменных действуют те же правила присваивания и вывода, что и для обычных В частности, с помощью операций присваивания можно создать вектор или матрицу заданной размерности и заданного типа без ручного вывода их шаблоном и без их заполнения. Это иллюстрирует рис. 11. 4, на котором показано задание нулевой, единичной и специальной матриц путем поэлементного их формирования.
Рис. 11. 4 Задание матриц без применения их шаблонов
Такой способ задания матриц очень напоминает применяемый в обычных программах метод, при котором значения элементам матриц присваиваются в двух вложенных циклах с управляющими переменными и г. Однако это сходство чисто внешнее, так как в нашем случае ранжированные переменные i и j — векторы.
11 .4. Данные файлового типа
Еще один важный тип данных системы MathCAD — файловые данные В сущности, это те же векторы и матрицы, но с элементами, которые могут записываться в виде файлов, имеющих свои имена. Файлы данных в системе представляет собою запись матриц в их естественной форме как последовательных текстовых файлов. Это простейший тип файлов, который легко обрабатывается в программах на различных языках программирования и может создаваться такими программами, благодаря чему возможен обмен данными между системой MathCAD и другими программами.
В ходе создания файла система считывает значения элементов векторов и матриц поэлементно (для матриц слева направо и сверху вниз) и по ходу считывания преобразует числовые значения элементов в их символьные эквиваленты, использующие ASCII-коды цифр и символы, относящиеся к заданию чисел. Эти символьные значения и записываются в виде данных файлов.
Существует семь файловых операций, рассматриваемых ниже. Создаваемые или используемые ими файлы легко просмотреть любым текстовым редактором, воспринимающим тексты в виде ASCII-кодов. При считывании файлов система обеспечивает обратное преобразование символьных представлений значений элементов в их числовые значения. Начнем рассмотрение этих операций с операции считывания файла, содержащего данные векторы.
1. READ (Имя_файла)
Эта операция-функция считывает данные из файла с указанным именем Имя_файла и возвращает значение — вектор. Обычно она используется для присваивания значений векторам, например:
V: = READ (DATA)
Здесь элементы вектора V получают значения, считанные из файла с именем DATA. Естественно, что такой файл должен существовать на диске, иначе ситуация будет считаться ошибочной. Для указания полного имени файла (если он не в текущем каталоге системы) следует использовать общеупотребительные для MS-DOS составные имена, например D: \EXPER\DATA, если файл DATA расположен на диске D в каталоге EXPER.