МО и ПО РФ НГТУ Реферат по информатике на тему Пакет MathCAD факультет АВТ группа А - 514 студент Коваленко С.А. преподаватель Мамонова В.Г. Новосибирск - 1997 Содержание 1. Введение2.1 Возможности системы2.2 Документ 2.3 Графические возможности 2.4 Документ 27 2.5
Документ 2.6 Документ 2.7 Документ 2.8 Работа системы с файлами2.9 Общение с внешними устройствами3. Система MathCAD становится более гибкой 3.1 Система MathCAD версии 3.2 MathCAD PLUS 2.1 Решение алгебраических систем2.2 Великолепная семрка MathCAD2.3 Сортировка2.4 Линейная аппроксимация 16 3.2.5
Дифференциальные уравнения2.6 Программирование4. MathCAD или программирование на языках высокого уровня 1. Введение М атематические и научно - технические расчеты являются важной сферой применения персональных компьютеров . Часто они выполняются с помощью программ , написанных на языке высокого уровня, например Бейсике или Паскале. Сегодня эту работу нередко выполняет обычный пользователь
ПК. Для этого он вынужден изучать языки программирования и многочисленные, подчас весьма тонкие капризные численные методы математических расчетов. Нередко при этом из под руки способного физика, химика или инженера выходят далкие от совершенства программы. Это не вполне нормальное положение может изменить к лучшему применение интегрированных программных систем автоматизации математических расчетов Eureka, MathCAD,
MatLab и др Здесь рассматриваются возможности и эволюция одной из таких систем - MathCAD. Фирма MathSoft Inc.США выпустила первую версию системы в 1986 г. Главная отличительная особенность системы MathCAD заключается в е входном языке, который максимально приближн к естественному математическому языку, используемому как в трактатах по математике, так и вообще в научной литературе. В ходе работы с системой пользователь готовит так называемые документы.
Они одновременно включают описания алгоритмов вычислений, программы управляющие работой систем, и результат вычислений. По внешнему виду тексты мало напоминают обычной программы . 2. Возможности системы MathCAD объединяет в себе простой текстовый редактор, математический интерпретатор и графический процессор. Система ориентирована на IBM - совместимые компьютеры. Упомянутые выше документы содержат текстовые, формульные и графические блоки.
На экране дисплея они занимают прямоугольные области, границы которых обычно не видны но при введении в блок курсора противолежащие углы прямоугольных областей отмечаются прямоугольниками. Блоки выполняются слева направо и сверху вниз. Подготовка и исполнение документов MathCAD может осуществляется с помощью главного меню и спускающихся подменю для их появления необходимо нажать клавишу F10 , командного режима вводится нажатием клавиши
Esc и команд в верхней командной строке , комбинации обычных клавиш, а так же с помощью управляющих клавиш. В последнем случае, например, нажатие клавиши F1 обеспечивает вызов системы подсказок, F5 - загрузку документов с дискового накопителя, F6 - запись редактируемого документа на диск и т.д. Из режимов работы необходимо особо отметить режимы auto и manual.
Режим auto обеспечивает автоматические вычисления сразу после загрузки документа по мере его прокрутки скроллинга на экране дисплея. В этом режиме скроллинг ощутимо замедлен, особенно при использовании системы на ПК класса IBM PC XT без математического сопроцессора. Режим manual ручной позволяет осуществлять быстрый скроллинг без выполнения документа. Для проведения вычислений от начала документа и до конца видимой на экране дисплея его части нужно
нажать клавишу F9 . Текстовые блоки являются не более чем комментариями. Их назначение - пояснить сухое и лаконичное математическое описание, представленное на входном языке системы. Текстовые блоки могут быть полноформатными на всю длину строки и в виде прямоугольников ограниченных размеров. Если ввести знак кавычки, то на экране дисплея появится пара кавычек, между которыми вводить и редактировать текст в обычном порядке. Текстовый редактор системы не обладает всеми возможностями
специализированных редакторов текста, однако позволяет корректировать тексты, выравнивать их по краю, перемещать текстовые блоки в любое место документа и т.д. Весьма удобны средства редактирования документов, позволяющие, в частности, стирать указанный курсором блок клавиша F3 и вставлять блок на новое место клавиша F4 . При необходимости можно использовать два окна системы, перенося блоки из одного окна в другое.
Математический интерпретатор системы - наиболее интересная е часть. Математические формулы, подлежащие интерпретации, записываются в общепринятом виде. Например, вычисление квадратного корня из двух в системе MathCAD задатся как 2 , а не в виде PRINT SQR 2 , как это делается, скажем, на Бейсике. Для ввода формул используются шаблоны, вводимые определнными комбинациями клавиш.
Имеется возможность изменения формата представления чисел, например числа знаков после разделительной точки, погрешности вычислений и обозначения мнимой единицы i на j и наоборот при операциях с комплексными числами. Чтобы вывести на экран дисплея графический блок, необходимо установить курсор на место левого верхнего будущего графика и ввести знак . На экране дисплея появится прямоугольник - шаблон будущего графика. Начиная с версии 2.0, масштаб можно и не указывать - он вычисляется автоматически.
Возможности системы поясняют следующие конкретные примеры. Название операции Задание операции Численный пример 2 Возведение в степень XY 3 9 Вычисление факториала X 4 24 Вычисление квадратного корня X 9 3 Вычисление абсолютного значения X -5 5 Сложение XY 2 3 5 Умножение XY 23 6 12 Деление
XY 3 4 Присваивание значений переменной XY X 8 Вывод значения переменной X X 8 Задание циклической переменной i N1 N2 i 1 5 Суммирование членов ряда i X X 2i i i 3 Перемножение членов ряда i X X 3.8410 i i 1 Вычисление определнного интеграла xfx 2xdx 0.93 0 Задание функции пользователя fX fx sin x Инициализация переменной х x 1, f x 0.841 dfx 0.54
Вычисление производной x f x dx Задание и проверка неравенства X Y 5 4 1, 4 5 0 Вычисление специальных функций Jnx Jn1 5 0. 242 Бесселя и интеграла вероятности J1x J1.5 0.242 erfx erf1 0.843 Документ 1. Примеры выполнения математических операций . Документ 1 иллюстрирует задание и исполнение в системе
MathCAD ряда математических действий. Среди них вычисление алгебраических, тригонометрических и гиперболических функций, сумм и произведений рядов, определнного интеграла и производной. В MathCAD предусмотрены средства для решения нелинейных уравнений, не имеющих аналитических решений. Так , функция root fx,y,z x ищет значение переменной x, при котором fx,y,z 0. Более сложные вычисления решение систем нелинейных уравнений, минимизация функций нескольких переменных
и др. обеспечиваются организацией вычислительного блока, открываемого словом Given. Документ 2 показывает решение актуальной для садовода или любителя баньки задачи как, сгибая железный лист, получить ящик заданного объма. Оказывается, есть три решения. Ящик может быть неглубоким, но с дном большой площади или глубоким, но с дном малой площади. Третье решение физически нереально. Во второй части документа показано решение задачи о конструировании
ящика максимального объма, ещ более актуальной при нашем дефиците строительных материалов. Специалистов в электротехнике и радиотехнике наверняка привлечт способность системы MathCAD выполнять все предусмотренные в ней вычисления как с действительными, так и с комплексными числами. В документе 3 приведены примеры операций с комплексными числами, начиная от простых и кончая сложными. К последним относится вычисление комплексного кругового интеграла, в ходе которого выполняется численное
интегрирование и дифференцирование с комплексными аргументами. Начиная с версии 2.0 в MathCAD введн функционально полный набор векторных и матричных операций. Это существенно облегчает решение задач линейной алгебры. В качестве примера в документе 3 датся решение системы линейных уравнений с комплексными коэффициентами, в ходе которого производится обращение комплексной матрицы.
К таким уравнениям приводит анализ электрических и электронных цепей на переменном токе. Весьма привлекательны средства линейной и сплайн-интерполяции и экстраполяции данных. Линейная интерполяция графически означает просто соединение узловых точек графика отрезками прямых. В отличии от не сплайн-интерполяция напоминает соединение этих точек с помощью гибкой линейки. Строго математически это означает проведение через каждые три точки линии, описываемой кубическим полиномом.
При этом во всех стыкуемых точках обеспечивается непрерывность как первой , так и второй производной каждого из полиномов. Сплайн-интерполяция - это мощное средство представления данных, заданных небольшим числом узловых точек. Документ 4 демонстрирует задание в виде векторов напряжений и токов N - образной вольт - амперной характеристики туннельного диода. Затем проводиться интерполяция-экстраполяция этой характеристики описанными в документе способами .
Можно заметить ,что сплайн- интерполяция в данном случае предпочтительнее линейной . MathCAD имеет обширный набор статических операторов и функций ,обеспечивающих генерацию случайных чисел ,а также вычисление среднего ,дисперсии и вариации ,коэффициентов линейной регрессии, ряда специальных математических функций .Документ 5 организует генерацию 200 случайных чисел ,их представление на плоскости ,вычисление ряда статистических параметров и построение гистограммы распределения .
Графические возможности системы. Мы уже отмечали графические возможности системы. MathCAD позволяет строить самые разнообразные графики в декартовой и в полярной системе координат, с масштабной сеткой и без не, с линейным и логарифмическим масштабом, с отметкой линий прямоугольниками, крестами, ромбами и т.д. Задание вида и размера графика осуществляется вводом соответствующего формата. Для задания формата можно ввести внутрь шаблона графика курсор и нажать клавишу
F .В верхней строке появятся данные о формате заданного графика, например logs 0,0 subdivs 1,1 size 5,15 type 1 Если параметры logs - нули, график строится с линейным масштабом, иначе- с логарифмическим в этом случае параметры указывают число делений шкалы в пределах декады . Параметры subdivs задают число делений шкалы, а параметры size - размеры графика, выраженные в знакоместах. Во всех этих случаях первый параметр относится к оси
Y графика, второй - к оси Х. Параметр type описывает указание о типе графика в виде малой или большой латинской буквы. Например, указание L задат сплошной график, d строит точки в узлах и т.д. Возможна комбинация таких указаний. Конструирование железного ящика заданного объма VO 7.5 Заданный объм ящика W 4 Ширина листа L 8 Длина листа X 0,0.2 5 Расстояние от линии отгиба листа VX L - 2XW -
2XX Объм ящика FX VX -VO Основное уравнение Графическое решение задачи 60 FX, 0 20 0 X 5 Решение задачи численным методом Инициализация Решение Комментарий X 0 rootVX - VO, X 0.297 Плоский ящик X 1 rootVX - VO, X 1.5 Глубокий ящик X 4 rootVX - VO, X 4.203 Решение физически нереально X W2 Конструирование железного ящика максимального объма
X 1 Инициализация Given Начало блока решения VX L - 2XW - 2XX Основное уравнение VX 100 Объм, заведомо превышающий требуемый X M minerr X Поиск оптимального значения Х X M 0.848 Найденное оптимальное значение Х VX M 12.317 Максимально возможный объм ящика Документ 2. Задача о конструирование железного ящика заданного и максимального объма
Задание мнимой единицы i -1 Арифметические операции Z1 2 3i Z2 4 5i Z Z1 Z2 Z 6 8i Re Z 6 Im Z 8 sin Z1 9.154 - 4. 169i Вычисление комплексных корней квадратного уравнения х 0 3i Инициализация первого корня 2 rootx 2x 15, x - 1 3.742i Первый корень x 0 - 3i Инициализация второго корня 2 rootx 2x 15, x -
1 3.742i Второй корень Решение систем линейных уравнений с комплексными коэффициентами 10 200i 0 - 200i 5 0i А B 0 - 200i 0 170i 0 0i -1 X A B Решение с помощью матричных операторов 0.037 0.131i Х Вектор решения 0.044 0.154i Вычисление комплексного кругового интеграла 1 fx zt cost sint x -4 te 6.2832 TOL 10 Погрешность te d fzt zt dt 6.283 х dt 0 Документ 3. Примеры операций с комплексными числами. Задание ВАХ туннельного диода 0 0 .2 50
Векторы исходных данных, .4 20 содержащие координаты U .6 I 3 семи узловых точек ВАХ .8 4 1.0 14 1.2 55 Линейная интерполяция ВАХ linterpU, I, 0.15 37.5 Примеры интерполяции ВАХ linterpU , I, 0.5 11.5 JV linterpU, I, V Задание функции JV ВАХ V -0.05 0.025 1.2 40 На графике ВАХ при линейной интерполяции отчтливо видны отрезки прямых,
и кривая В АХ JV,0 неестественно -40 -0.05 V 1.2 Интерполяция кубическими сплайнами IS csplineU ,I Векторы вторых производных interp IS, U, I, 0.15 49.493 Примеры сплайн - интерполяции interp IS, U, I, 0.5 8.191 JV interp IS, U, I, V Задание функции JV ВАХ V -0.05 0.025 1.2 40 Кривая ВАХ при сплайн - интерполяции отличается плавностью и похожа на
JV,0 реальную кривую ВАХ -40 -0.05 V 1.2 Документ 4. Линейная и сплайн - интерполяция N - образной вольтамперной характеристики ВАХ туннельного диода . Генерация 200 случайных чисел с равномерным распределением i 1 200 x rnd 10 i Графическое представление случайных чисел 10 х График наглядно показывает i равномерность распределения случайных чисел 0 1 i 200 Вычисление основных статистических параметров массива х meanx 4.619 varx 8.869
max x 9.95 min x 0 stdev x 2.978 Подготовка данных к построению гистограммы N 10 j 0 N k 0 N - 1 10 intervals 1 j P hist intervals, x j N Гистограмма распределения чисел в массиве х 30 P k 0 0 intervals 10 k Документ 5. Генерация случайных чисел и характеристики их распределения. Графики можно перемещать в любое место документа, указанное положением курсора, они могут иметь любые
размеры. На одном графике можно строить несколько кривых для этого в формате после слова type нужно перечислить параметры кривых, разделяя их запятыми. Версия 2.50 системы обеспечивает возможность построения поверхностей и фигур. При этом необходимо задать функцию двух переменных и сформировать матрицу с условным именем М - массив узловых точек. Работа с файлами Реализован и импорт файлов, содержащих сложные графические
построения из других систем, таких, как AutoCAD и TurboCAD. Для этого с помощью специальной программы mostrans, входящей в систему, нужно преобразовать импортируемый файл с расширением mcd. Такой файл после загрузки командой Load вызывает построение графика, верхний левый угол которого задатся положением курсора. Общение с внешними устройствами Система MathCAD обладает обширными возможностями для общения с внешними
устройствами. Помимо записи и считывания документов предусмотрена запись и считывание файлов , хранящих различные данные вплоть до векторов и матриц с комплексными коэффициентами. Это позволяет использовать систему для обработки данных, поступающих от внешних устройств. Поддерживаются все основные типы дисплеев монохромный Hercules, CGA, EGA, VGA и др. Последние версии системы начиная с 2.50 поддерживают работу почти с 40
типами принтеров и плоттеров, включая 9 и 24 - игольчатые принтеры с двухцветной и многоцветной печатью и лазерные принтеры. Автоматически обеспечивается работа с сопроцессорами математических операций. Система MathCAD становится более гибкой Система MathCAD версии 3.0 В систему MathCAD версии 3.0 фирма Mathsoft , предназначенную для выполнения научно - технических вычислений, введн ряд новых одна из которых позволяет работать в среде
Windows. По - видимому, их появление обрадует всех те6х, кто имеет дело с обработкой чисел. Система MathCAD - это лгкое в освоении и одновременно мощное средство для выполнения исследований. С точки зрения функций, которые она выполняет, MathCAD можно сравнить с рабочим блокнотом инженера или учного. На своих листках - кадрах экрана - она позволяет комбинировать уравнения, заметки и графики. Работая над задачей , обычно используется винегрет из записей на листках бумаги и распечаток, полученных
с помощью электронных таблиц. Продираясь через вычисления с помощью системы MathCAD, не нужно прибегать ни к каким другим средствам. Чтобы пользоваться системой, вам не нужно держать в уме множество специальных обозначений, как это требуется в случае электронных таблиц. Нравится и то, что можно уравнения в том виде, в каком они обычно изображаются в книгах и на классных досках . В эту версию системы введены символьные вычисления, без
которых не обходится ни один серьзный математический пакет. Символьный процессор базируется на пакете Mapple фирмы Waterloo Mapple Software. MathCAD предлагает довольно полный набор встроенных функций. При подготовке данной версии были добавлены две новые полезные функции, обеспечивающие нахождение собственных чисел и собственных векторов для вещественных матриц.
Система включает теперь встроенную программу, которая контролирует единицы измерения, и редактор формул. Чтобы уберечь вас от необходимости выискивать формулы, которые приводятся только в справочных изданиях, в данную версию системы включен электронный справочник. Он обеспечивает экранные подсказки которые очень пригодятся новичкам. Имеются, однако, два момента, которые наверняка не понравятся е пользователям.
Во - первых, при использовании 35 - см экрана, приходится напрягать глаза, чтобы разглядеть очень маленькие цветные пиктограммы. И во - вторых, качество изображения графиков оставляет желать лучшего. MathCAD PLUS 6.0 Решение алгебраических систем Лучше один раз увидетьсхему задачи,чем сто раз услышать е условие - такое расширение пословицы можно отнести ко всем прикладным программам, работающим под управлением операционной системы Windows, которую не зря называют графической оболочкой.
Пакет MathCAD в этом смысле - не исключение. Работая в среде Windows, можно с помощью графического редактора PaintBrush или какого - то другого нарисовать схему задачи, а потом через Буфер Обменов ClipBoard перенести рисунок в документ MathCAD. Если теперь в среде MathCAD подвести к рисунку курсор мыши и два раза щелкнуть по е левой кнопке, то обрамление рисунка сразу изменится - рисунок перенестся в среду
PaintBrush, где его можно доработать, а потом опять вернуть в MathCAD. Словесное описание задачи можно ввести в MathCAD - документ ремарками комментариями. Пакет MathCAD оборудован текстовым процессором, позволяющим оформить, например, научную статью, не прибегая к специализированным средствам. С другой стороны, Буфер Обменов ClipBoard поможет перенести фрагменты
MathCAD - документа в Word - документ и там дооформить их. В шестой версии - MathCAD в меню FILE Файл появился пункт Export Worksheet Экспорт, существенно облегчающий эту работу. Решение любой задачи в любой программной среде, как правило, начинается с ввода исходных данных. Работая с языком BASIK или с каким - то другим , вводя переменные и задавая им определнный тип, программист
заботится не о физике решаемой задачи, а о памяти машины. Тип числовой переменной с точки зрения программиста - прикладника - это атавизм тех времн, когда память машины была одним из лимитирующих факторов при решении задачи. Пакет MathCAD в этом смысле расточителен - он присваивает всем числовым переменным двойную точность с 15 знаками в мантиссе. Эти переменные предстают перед глазами пользователя либо в целочисленном 17,
например , либо в вещественном 3.14, либо в комплексном виде. Но через знак в среде MathCAD можно присвоить переменной не только конкретную величину 20, 1,10, 30 - математика задачи, но и размерность ньютон, метр, угловой градус - физика задачи . Для присваивания величине размерности за ней ставится знак помножить и вводится название соответствующей размерности. А можно поступить по другому - нажать на панели инструментов на кнопку с изображением мерной
кружки. После этого на дисплее появится окно со списками физических величин длина, время, скорость и т.д. с соответствующим им размерностям метр, секунда, метр в секунду и т.д одну из которых можно вставить в MathCAD - документ. MathCAD не назывался бы математическим пакетом, если бы он не мог решать системы алгебраических уравнений. Конструкция Given Find Дано Найти использует расчтную методику, основанную на поиске корня вблизи точки начального приближения,
заданной пользователем. Можно написать требуемую систему уравнений, зажав е между ключевым словом Given и функцией Find. Функция Find возвращает значения переменных, превращающих вышеперечисленные до слова Given уравнения в тождества. Если уравнений более одного, то возвращаемые значения размещаются в векторе - в группе переменных, зажатых в кулак, но этот кулак, как мы уже отмечали, легко разжать, выводя на дисплей найденные значения с первородной размерностью массы kg, длины m и времени sec пакет
MathCAD разжимает и сам вектор, м составные размерности, приписывая к числам комбинации основных физических единиц. Но не только этим хороша размерность в задачах. Главное то , что она автоматически позволяет отслеживать физические ошибки. Если, к примеру, пользователь сложит секунды с метрами, то MathCAD заругается и выдаст протестующее сообщение incompatible units несовместимые единицы.
Элегантность решения системы уравнений в среде MathCAD, не требующая кодирования алгоритма или поиска соответствующей внешней процедуры, имеет и обратную сторону у пользователя возникают естественные в правильности решения. Протестировать нужно не только компьютер, но и пользователя правильно ли он составил исходную схему Сравнивая тип переменной с размерностью физической величины, мы тем самым провели аналогию между пакетом MathCAD и языком BASIK. Продолжим е.
Повторяем знак в среде MathCAD соответствует операторам Input и Let на языке BASIK, а знак - оператору Print. В среде MathCAD слева от знака пользователь может написать переменную простую, с индексом, матрицу, вектор, а справа - выражение с переменными и функциями , определнными выше и левее или встроенными в пакет MathCAD. Слева от знака разрешено писать переменную или выражение, правая же часть - это область,
всецело принадлежащая среде MathCAD, куда выводятся рассчитанные значения. Это не совсем так пользователь MathCAD может правее числа, стоящего за знаком , ввести другую размерность, например метры. Это свойство дало пакету MathCAD второе название - суперкалькулятор пользователь набрал сложнейшую формулу, нажал на клавишу равно - и ответ готов. А вот жирного знака равно, разделяющего левую и правую части
MathCAD - выражений, на языке BASIK, к сожалению, нет а почему В языках QBASIK, Quick BASIK и Visual BASIK от фирмы Microsoft есть конструкции, обладающие свойством, которое с некоторой долей условности можно назвать полиморфизмом. Одно и то же ключевое слово меняет свой смысл в различных программных сюжетах. Так, упоминавшийся знак - это и символ в операторе присвоения где
Let давно уже не пишут , и символ в булевом выражении. Другой пример - ключевые слова Mid и Time, которые согласно документации по языку отмечают и встроенную функцию, и оператор языка A MidCOMPUTER, 3, 3 Здесь Mid - функция MidA, 2,1 Здесь Mid - оператор StartTime Time Здесь Time - функция Time 1230 Здесь Time - оператор
Когда ключевое слово Mid стоит в правой части оператора присвоения, оно означает встроенную функцию. Перенос же Mid в левую часть превращает его в оператор. Второй пример не совсем правомерен Time правильнее назвать не функцией и не оператором, а системной переменной. Системные переменные есть и в среде MathCAD. Пакету MathCAD не грех перенять из языка BASIC некоторые полезные вещи.
Ему в частности, очень не хватает цикла Do Loop, в тело которого вставляется условие прерывания If Then Exit Do. В среде MathCAD нельзя, например, в автоматическом режиме реализовывать метод последовательных приближений. Без цикла этот метод допустим только в полуавтоматическом режиме пользователь задат первое приближение искомой переменной, а затем цепочкой формул, где фигурирует данная переменная, получает е новое значение. Расчт повторяется в цикле с ручным переносом до тех пор, пока новая пара значений
не удовлетворит пользователя. Можно поступить ещ проще - не переносить новое значение переменной в головку блока выражений, а продублировать блок нужное число раз. Если в таком алгоритме сходимости нет, то его вс равно используют, называя при этом методом научного тыка. Именно ему адресован полуавтоматический цикл. Кроме того, нужно помнить, что более - менее сложная система нелинейных уравнений окажется не по зубам
не только пакету MathCAD, но и другим мощным пакетам - Mathemateca, Maple, Gauss и др. MathCAD в такой ситуации выдаст сообщение Did not find solution Решение не найдено, заставляя пользователя переходить к полуавтоматическому режиму - менять значения начального приближения и или величину точности TOL TOLerance - точность, погрешность. Функция Find решает систему так, чтобы левые и правые части входящих
в не уравнений отличались на величину, не превышающую значения TOL. Это ещ одна предопределнная системная переменная среды MathCAD, хранящая по умолчанию значение 0.001, которое можно изменить, записав в MathCAD - документе выражение TOL 0.01, например. Но и это часто не помогает. Только при строго определнных начальных условиях пакет
MathCAD находит правильное решение. Шаг влево, шаг вправо - расстрел Малейший отход от начальных условий - и из слова Find вырывается пламя красное сообщение Did not find solution в той же красной рамке. Но эта же задача с неограниченным диапазоном исходных данных прекрасно решается последовательными приближениями с поиском в цикле корня одного - единственного уравнения. Отход от лобовой атаки от использования блока
Given Find возможен лишь в том случае, если система уравнений не абстрактная, какие обычно приводятся в задачниках по математике, а реальная, отображающая конкретную физическую, химическую, биологическую и т.д. задачу. Кроме того прикладник физик, химик, биолог и т.д решая задачу может сделать разумные допущения, линеаризирующие, например, некоторые выражения или уменьшающие их число. Другое важное преимущество метода последовательных приближений состоит в том, прикладник, зная физика
задачи, может менять точность расчтов при обработке выражений, входящих в систему. В блоке Given Find, как было уже отмечено, это не допустимо. В нм можно лишь смягчить эту проблему с другого конца - ввести в выражения балластные нормирующие коэффициенты, уравнивающие их по отношению друг к другу и позволяющие им решаться с одной точностью. А это опять же потеря физики в угоду математики. Но тем не менее все перечисленные ухищрения часто
остаются тщетными из - за того, что система просто не имеет решения, да и вся задача ориентированна не на поиск корней, а на минимизацию некоторых величин. В этом случае функция Find заменяется на функцию Minerr MINimal ERRor. С помощью блока Given Minner можно решать широкий класс оптимизационных задач. Для решения линейных алгебраических уравнений в пакете
MathCAD есть особые инструменты - операторы и функции работы с матрицами и векторами. Элементы матриц и векторов в среде MathCAD должны либо иметь одинаковую размерность, либо быть безразмерными. А это не просто ошибка пакета, а общая методологическая ошибка элементы матрицы могут быть с разнородными размерностями. Матрица и вектор пакета MathCAD имеют родственников на языке BASIC - двумерный и одномерный массивы. Массив же - это объединение сугубо однотипных величин.
Разнотипные переменные объединяются в записи. Что бы примирить физику с математикой, достаточно разрешить в столбцах матрицы помещать величины с разнородными единицами измерений, считая матрицу не только двухмерным массивом простых переменных, но и одномерным массивом векторов. В записи в векторе могут, конечно храниться и однотипные переменные - переменные с одной размерностью или вообще лишенные е. Аналог одномерного массива в
MathCAD - это матрица с одним столбцом. Но такая горизонтальная матрица не выражается через переменную с индексом. Переменная с индексом - это нормальный, вертикальный, вектор. Если допустить, что матрица - собрание множество величин с различной размерностью, то тогда придтся все матричные операторы и функции разделить на группы по отношению к единицам измерений. Так функции min поиск минимального элемента в массиве и max поиск максимального элемента в массиве
не могут допустить неодинаковых размерностей в элементах матрицы - аргумента. Оператор же определения детерминанта должен преобразовывать матрицу как массив векторов. Величины в строках здесь должны быть одной размерности. С точки зрения математика несмотря на отсутствие размерности, что ведт за собой смысловую потерю физики задачи решение в среде MathCAD системы линейных алгебраических уравнений через матрицы более оптимально,
чем через блок Given Find отпадает необходимость в начальном приближении у линейной системы не более одного корня - вектора. Кроме того, матричное решение задачи - точнее. Есть и другие причины по которым приходится отказываться от размерностей. Международная система физических величин СИ базируется на семи основных единицах длина - метр, масса - килограмм, время - секунда, сила тока - ампер, абсолютная температура - кельвин, сила света - кандела
и количество вещества - моль. Но в среде MathCAD их только пять длина, масса, время, заряд и абсолютная температура. Да, как это ни печально, но с единицами измерений при работе в среде MathCAD часто приходится расставаться. Вина здесь не только фирмы MathSoft, но и всей теории размерностей. Дело в том, что эта теория какая - то незаконченная. Недаром е избегают освещать в математических справочниках.
В физических же справочниках, когда дело доходит до размерностей, теряется всякая логика. Из - за этого многие научные дисциплины стараются избавиться от пут размерностей, вводя безразмерные величины критерии число Рейнольдца, например, если вспомнить аэродинамику. Освобождение от размерностей подкреплено целой теорией - теорией подобия. Вс это не могло отразится на развитии пакета MathCAD там упомянутая пятрка размерностей длина, масса,
время, заряд и абсолютная температура неудобоварима в психологическом и даже в парапсихологическом смыслах. Химики никак не могут понять, как концентрацию раствора можно измерять только молями, которых , кстати, в пакете MathCAD нет. Сама по себе размерность - понятие скользкое, опирающееся не только на науку, но и на привычки людей, законы искусства и даже на постулаты религии. Стоит только вспомнить попытки заменить в метеосводках миллиметры ртутного столба на гектопаскали.
Парапсихологический, если можно так выразится, аспект проблемы размерностей в среде MathCAD выражен в том, что пятрка - число некрасивое, а значит, и неправильное. Там должна быть семрка, но не та, которая заложена в Международную систему, а некая другая. Семь число совершенное в науке, в искусстве и в религии стоит только перечислить цвета радуги, ноты музыкальной гаммы, дни недели, чудеса света, наиболее промышленно
развитые страны мира, античных мудрецов, смертные грехи В классическом варианте языка BASIC семь структурных управляющих конструкций алгоритма цикл с предпроверкой, цикл с постпроверкой, цикл с выходом из середины, альтернатива, функция, процедура и множественное ветвление и семь типов переменных Integer, Long Integer, Single - precision Floating Point, Double - precision
Floating Point, Currency, String и Type - тип, заданный пользователем. Да и сама цифровая вычислительная техника базируется не на числе 8 байт, как принято считать, а на числе 7. Два бита в степени восемь 256 - это число символов в ASC - таблице. Но ASC - таблица ни машиной, ни человеком никогда не воспринимается как единое целое, а всегда разбивается на две половины - верхнюю и нижнюю по 128 знаков в каждой.
А это два в степени семь, а не восемь. Ещ одна базовая размерность лежит на поверхности, но почему - то напрочь отвергается учеными. Это единица измерения стоимости - рубли, доллары, марки и т.д. Из -за этого в среде MathCAD экономические расчты лишены размерности. Кстати, в язык BASIC размерность валюты введена косвенно через новый тип числовых переменных - Currency. Великолепная семрка MathCAD. Раз мы уж залезли в мистику в описание магических свойств числа
семь, то подошла пора рассказа о великолепной семрке MathCAD - о семи видах графиков, используемых для визуального отображения различных зависимостей. Типов графиков в MathCAD, конечно, намного больше, но на панели инструментов имеется ровно семь кнопок для создания семи типов графиков. Мистика да и только. Самый распространенный график двухмерный декартов график
X-Y Plot, иллюстрирующий связи между двумя или несколькими векторами. Декартов график строится, как правило, в три шага шаг 1 задание вида функций одной переменной шаг 2 формирование вектора значений аргумента шаг 3 построение графика. Третий шаг в свою очередь делится опять же на три шага шаг 1 рисование на экране дисплея заготовки графика - прямоугольника с чрными квадратиками у левой и правой сторон заготовка графика появляется
в отмеченном курсором месте после того, как пользователь нажмт одну из семи кнопок панели инструментов Графики шаг 2 заполнение пользователем двух чрных квадратиков заготовки графика вакантных мест именем функции и именем аргумента. Если функций больше одной, то их имена вводятся через запятую. В заготовке есть и другие чрные квадратики, которые можно не заполнять. Среда MathCAD заполнит их сама. График появляется на дисплее после вывода курсора из зоны графика автоматический
режим расчтов или после нажатия клавиши F9 ручной или автоматический режим расчтов. Параметры графика задаются стандартами по умолчанию шаг 3 необходим, если параметры графика, установленные по умолчанию не устраивают пользователя и он хочет их изменить, вызвав соответствующее меню. Если аргумент представляет собой угол, изменяющийся от 0 до 360 градусов, то ось аргументов декартова графика целесообразно свернуть в круг и получить полярный график
Polar Plot. Графически отобразить функцию двух аргументов можно с помощью графика поверхности Surface Plot, который строится, как правило, не в три, а в семь шагов шаг 1 задание вида функций двух переменных шаг 2 нумерация узлов сетки - поверхности по первому аргументу шаг 3 формирование вектора первого аргумента шаг 4 нумерация узлов сетки-поверхности по второму аргументу шаг 5 формирование вектора второго аргумента шаг 6 заполнение матрицы значениями функции в узлах сетки шаг 7 построение и форматирование
графика поверхности. Очень часто, особенно при поиске оптимумов функции двух переменных, полезнее просмотреть не график поверхности, а карту линии уровня, которые подобны линиям на физической географической карте, охватывающим горы и впадины минимумы и максимумы. На место линий графика можно поставить маленькие стрелочки, отмечающие направление изменения функций двух переменных. Тогда получится векторное поле Vector
Field Plot. Гибридом декартова графика и графика поверхности является так называемый трхмерный точечный график Другое название - график рассеяния. 3D Scatter Plot. Его главное отличие от графиков, отображающих прямоугольные матрицы, в том, что с его помощью можно изобразить взаимосвязь трх векторов. Графики можно расцветить так, чтобы более высокие зоны имели тплые цвета, а более низкие - холодные. Пакет MathCAD может раскрасить объмные конструкции скажем точнее,
виртуальные объмные конструкции так, чтобы пользователь смог увидеть вс, что ему нужно. В шестую версию MathCAD встроены средства анимации, позволяющие оживить MathCAD - документы. С анимацией связана системная переменная FRAME, которой через команды Windows-Animation-Create в окне Create-Animation можно приказать меняться, например от 1 до 10.
При открытом окне Create-Animation нужно выделить область, визуальное изменение которой желательно проанализировать и нажать кнопку Animate.после этого появится окно Playback, где средствами Microsoft Video будет показано изменение кривой на графике в зависимости от изменения значения переменной FRAME. Основной недостаток трхмерной графики MathCAD и других подобных пакетов - в том, что область изменения аргументов должна быть прямоугольной. Сортировка.
Экспериментальные данные перед дальнейшей обработкой желательно отсортировать. Это можно сделать вручную, переставив местами два первых элемента или при объмных массивах данных автоматически через функцию csort, возвращающую упорядоченную матрицу по отмеченному номеру столбца. Для этого вектора объединяются в матрицу, которая после сортировки расчленяется на те же, но уже упорядоченные векторы. Это приходится делать из-за того, что некоторые функции
MathCAD отказываются иметь дело с не отсортированными векторами. Линейная аппроксимация. Встроенные функции intercept to intercept по-английски - отложить отрезок на линии и slope наклон решают самую простую и самую распространнную задачу регрессионного анализа - нахождение прямой, пронизывающей точки методом наименьших квадратов. Найденные значения коэффициентов а и b аппроксимирующего уравнения yx a bx позволяют построить на графике
прямую с роящимися вокруг не точками. Подобным графиком на практике, как правило, завершают регрессионный анализ график, во-первых, даст наглядное представление о качестве анализа, а во-вторых, поможет в случае чего отловить допущенные ошибки ввода исходных данных пропуск десятичной точки, например. Этой цели может служить и предварительная сортировка векторов ошибочные значения часто всплывают на концах упорядоченного вектора. В-третьих, график сам по себе ценен.
Графиком, т.е. с другого конца, можно довольно быстро решить линейную аппроксимационную задачу. Дополнить результаты регрессионного анализа неплохо указанием точки, максимально отклонившейся от прямой. Само значение такого выброса найти несложно через функцию max Стрелка в аргументе функции max указывает на то, что он - вектор А вот с определением координат этой точки придтся повозиться привлечь аппарат булевых выражений, принимающих
два значения - True в среде MathCAD - единица и False нуль, умножение которых на текущий индекс фиксирует искомую координату. В пакете MathCAD PLUS 6.0 почти 300 встроенных функций. При всм богатстве встроенных функций пакету MathCAD не хватает функции определения в векторе или в матрице координат минимального максимального элемента. Выход из положения - это сумма для вектора или двойная сумма для матрицы произведений номера текущего
элемента на булево выражение. Эту конструкцию так и хочется оформить в виде новой функции с именем imax, например и больше с такой задачей не возиться. Но в новую функцию перекочует и будет замаскирована ошибка - не ясно, что будет возвращать новорожднная функция imax, если в аргументе-векторе в массиве два или более максимальных элементов. Из прозрачной формулы с суммой это понятно, а из затеннной функции imax - нет. Все эти замечания можно отнести и к встроенным функциям intercept и slope,возвращающим значения
коэффициентов линейной регрессии. Всегда остаются сомнения, а нет ли в этих функциях фактической или методологической ошибки. Последнюю можно обнаружить, если подставить в функции intercept и slope аргументы - векторы с двумя или даже одним методом. Через две точки можно всегда провести только одну прямую. Через одну точку прямых можно провести бесчисленное множество. И в том, и в другом случае сумма квадратов отклонений двух точек одной точки будет нулевой и требования
метода наименьших квадратов будут выполняться абсолютно. Но в первом случае функции можно intercept и slope будут решать простую интерполяционную задачу, для которой в среде MathCAD есть особый математический аппарат. Во втором случае X и Y - не векторы, а скаляры функции intercept и slope должны выдавать бесчисленное множество значений, связанных ограничением Y a bX.
В плане выполнимости критерия наименьших квадратов здесь вс безупречно, но методология, заложенная в функции intercept и slope, приводит к тому, что при числе элементов в векторах X и Y, меньше двух, выдатся сообщение об ошибке. Вс это слабая защита, которую пользователь может легко обойти, подсунув функциям intercept и slope более одной точки, но с повторяющимися значениями аргументов. Резюме играть можно не только с игровыми программами.
На эту роль подходят и серьзные математические пакеты - было бы желание у пользователя. Дифференциальные уравнения. В среде MathCAD до версий PLUS 5.0 дифференциальные уравнения без особых ухищрений можно было решать только методом Эйлера, у которого низкие точность и производительность плата за простоту. Инструментарий для решения дифференциальных уравнений систем различного порядка и различными методами
в арсенале MathCAD появился сравнительно недавно. В него входят 13 встроенных функций Bustoer, bustoer, bvalfit, multigird, relax, Rkadapt, rkadapt, rkfixed, sbval, Stiffb, stiffb, Stiffr и stiffr. Функция rkfixed возвращает в матрицу Z с Р1 столбцами и n строками Р - количество уравнений или порядок уравнения - таблицу решений системы первый вернее, нулевой столбец - это значения аргумента t их задат пользователь, а последующие столбцы
- значения ординат решения. В функцию rkfixed заложен широко распространнный метод Рунге - Кутта. Несмотря на то что это не самый быстрый метод, функция rkfixed почти всегда справляется с поставленной задачей. Программирование. Наиболее заметная изюминка шестой версии MathCAD, которую сразу оценили пользователи это встроенный язык программирования. В MathCAD, по сути, не встроен язык программирования, а просто снято ограничение на использование составных
операторов в теле алгоритмических управляющих конструкций выбор и повторение. Кроме того, добавлены цикл с параметром и оператор досрочного выхода break. Алгоритмические конструкции и составные операторы в среде MathCAD вводятся нажимом одной из семи кнопок панели управления Add line if while for break otherwise Add line - добавить строку программы, тела цикла, плеча альтернативы
и т.д знак присвоения. While - при нажатии на эту кнопку на экране появляется заготовка цикла с предпроверкой слово while с двумя пустыми квадратиками. В квадратик правее while нужно записать булево выражение переменную, управляющее циклом, а во второй квадратик ниже while - тело цикла. If - позволяет вводить в программу альтернативу с одним плечом. Otherwise - позволяет превратить неполную альтернативу в полную
C D if A B E F otherwise for - кнопка для ввода в программы цикла с параметром. Break - кнопка досрочного выхода из программы или цикла. MathCAD или программы на языках высокого уровня Итак система MathCAD позволяет автоматизировать множество математических, инженерных и учебных расчтов. С е помощью можно составлять библиотеки и пакеты из документов, реализующих такие расчты.
Целесообразна ли, при наличии MathCAD, подготовка программ математических расчтов на языках высокого уровня Однозначного отрицательного ответа дать нельзя. Система основательно загружает ПК. Интерпретация формул и работа системы всегда в графическом режиме ведт к потере скорости вычислений. Для ПК без сопроцессоров класса IBM PC XT медлительность системы вполне ощутима. Специализированные программы на
Паскале и даже на Бейсике обеспечивают намного более высокую скорость вычислений однако и требуют больше времени для подготовки программ. Что вам важнее потратить несколько дней а то и недель на разработку и отладку программы, решающей нужную задачу за десятые доли секунды, или затратить всего десяток минут на составление документа, решающего ту же задачу с помощью системы MathCAD за несколько секунд Если последний вариант предпочтительнее - вам подходит
MathCAD Несомненно важны и такие достоинства системы, как высокая достоверность и наджность результатов вычислений, наглядность документов и удобные графические средства вывода результатов вычислений. Литература 1. Мир ПК 8 91 стр43 2.Мир ПК 8 91 стр48 3.Очков В.Ф MathCAD PLUS 6.0 для студентов и инженеров М. ТОО фирма Компьютер Пресс,1996. MATHCAD. Общая характеристика.
Первый взгляд. Построение графиков. Вычислительные способности. Интеграция. Языки программирования. Электронные книги. Заключение. MATHCAD MATHCAD. MATHCAD Maple Theorist Waterloo Maple Software Mathematica Wolf Research, MATHCAD Mathsoft WYSIWYG What You See Is What You Get
MATHCAD MATHCAD 1986 2.01 - 1987 MATHCAD, Windows. 1995 32- MATHCADa Windows. MATHCAD 6.0 SE Standard Edition - MATHCAD PLUS 6.0 MATHCADa 6.0 2.52 DOS, 6.0 Windows Windows Mathematica Maple MATHCADe Word RTF. 6.0 QuickSheets QuickSheets . 6.0 Windows - AVI MATHCAD 6.0 - 222 1. sinz, cosz, tanz, asinz, acosz, atanz z -
2. sinhz, coshz, tanhz, asinhz, acoshz, atanhz 3. expz - ez lnz - logz - 4. C meanx - varx - stdevx - cnormx- erfx - x 5. J0x, J1x, Jnn,x - Y0x, Y1x, Ynn,x - 6. Rez - Imz - argz - 7. UfftV - V- VifftU - V- UcfftV - V- VicfftU - V- 8 vx vy corrvx,vy - slopevx,vy - interceptvx,vy - 9. linterpvx,vy,x vx,vy - x 10. root 11. rndx -
0 x 12. floorx - ceilx - 13. modx,y- x y 14. untilx,y - x 0 15. if,x,y x, y 16. x - x 0. 1, 0 17 x0.5 L 1 0 L x1 L0 L x1 L0 L x1 L0 L x 1 L1 L x 1 L0 18 World Wide Web, Internet, WWW MATHCAD. MATHCAD MATHCAD MATHCAD MATHCADe X-Y plot, Polar plot, Surface plot, Contour plot, Vector Field plot, 3D Scatter plot, 3D
Bar Chart. MATHCADa 1. Symbolic 2. Life Symbolics 3. Optimize Z, 4000 . MATHCAD MATHCAD , MAPLE. MAPLE V 50 . MATHCADe Clipboard. MATHCAD 16 MATHCAD PLUS 7 MATHCAD 6.0 Windows . MATHCADa Windows- DDE - OLE MATHCAD ASCII 32 MATHCAD MATHCADa MathSoft - MATHCAD 40 MATHCADa MATHCADa.
MATHCAD MATHCAD MathSoft MATHCADa MATHCAD.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |