Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

тематические системы создавались исходя из предположения что пользователь будет решать свои задачи практ

Работа добавлена на сайт samzan.net:


MathCAD.

Многие математические системы создавались исходя из предположения, что пользователь будет решать свои задачи, практически не занимаясь программированием. Однако подобный путь имеет недостатки. Ведь многие задачи нуждаются в развитых средствах программирования, которые упрощают запись алгоритмов задач. (Дьяконов) MathCAD создавался как инструмент решения широкого круга задач для тех, кто не программирует. Главной отличительной особенностью MathCAD является привычный по учебникам математики вид записи математических выражений.

MathCAD в современном виде не предназначен для программирования сложных задач — для этого есть система MatLAB, языки программирования. MathCAD создавался как мощный микрокалькулятор, позволяющий легко справляться с рутинными задачами инженерной практики, ежедневно встречающимися в работе: решение алгебраических или дифференциальных уравнений с постоянными и переменными параметрами; анализ функций, поиск их экстремумов; численное и аналитическое дифференцирование и интегрирование; вывод таблиц и графиков при анализе найденных решений.

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

Пять типов решаемых задач. При всем разнообразии задач, решаемых в рамках различных научно-технических дисциплин их можно свести к пяти основным типам: моделированию, расчету, анализу, оптимизации и синтезу.

Моделирование сводится к описанию работы устройства с помощью матрицы, уравнения, формулы, графика или таблицы. Такая математическая модель должна, с одной стороны, с требуемой точностью отражать физические процессы в исследуемом объекте, а с другой – быть пригодной для использования на компьютере. В одних случаях математическая модель является результатом аналитического или численного анализа физической модели объекта, в других – экспериментальных исследований. Обработка, в том числе и статистическая, имеющегося массива данных, характеризующего работу устройства, также проводится с помощью компьютера. Работа объекта исследования может быть определена также в виде его отклика или реакции на входное воздействие без проникновения в сущность физических процессов, протекающих внутри устройства. В таком случае с помощью математической модели описываются только внешние свойства исследуемого объекта и поэтому модель может быть названа феноменологической.

При написании программы на MathCAD математические выражения, моделирующие устройство или некоторый процесс, обычно располагают в начале ядра программы.

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

Анализ заключается в определении отклика объекта на изменение его внутренних параметров или внешнего воздействия, в исследовании процессов, протекающих в устройстве.

Оптимизация состоит в определении такой комбинации значений внутренних параметров устройства при его неизменной структуре, при которых одна или несколько внешних характеристик или параметров объекта имеют наилучшие значения согласно выбранному критерию. При этом составляется функция цели, в концентрированной форме отражающая конечный смысл решаемой задачи: поиск оптимальной характеристики объекта с учетом определенных ограничений. Сам поиск глобального минимума и максимума функции цели, в зависимости от характера решаемой задачи, осуществляется по нескольким методам, составляющим предмет нелинейного программирования. Практическая реализация второго пути, требующая огромного объема вычислений, возможна только с применением компьютера. Например, следует разработать конструкцию автомобиля, расходующего минимальное количество топлива на 100 км пробега, при соблюдении ряда условий: грузоподъемности, маневренности, условий безопасности, комфортабельности и т.п.

Синтез состоит в определении структуры проектируемого объекта и значений параметров его элементов, при которых устройство наилучшим образом согласно выбранному критерию отвечает необходимым требованиям. Из сказанного следует: оптимизацию можно рассматривать как частный случай синтеза. Более того, с перебором нескольких, наиболее подходящих для рассматриваемого случая структур объекта, практически смыкается с синтезам. Поэтому оптимизацию называют также параметрическим синтезом.

По объему проводимых вычислений все пять задач можно разбить на две основные группы:

  1.  расчет одного варианта (например, следует рассчитать массу некоторой конструкции заданной формы, изготовленной из определенного материала);
  2.  расчет множества вариантов при решении большинства практических задач (например, при расчете траектории полета ракеты или экономическом анализе).

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

  1.  исходные данные в виде записи констант в табличной форме, логических или иных соотношений;
  2.  ядро программы – последовательная запись математических выражений: функций, алгебраических или дифференциальных уравнений, интегралов, матриц и т.п. – в рамках определенного алгоритма решения поставленной задачи, связанной с вычислениями;
  3.  результат решения в виде числа, таблицы, графика или символьного выражения.

Интерфейс MathCAD

Интерфейс системы (программы) напоминает интерфейс программ Microsoft Office. С назначение элемента можно ознакомиться, установив на соответствующий элемент курсор мыши и задержав его на пару секунд.

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

Верхняя строка – титульная. Она отображает название документа, с которым в данный момент работает пользователь. В левой части верхней строки помещены стандартные кнопки: для свертывания окна, перехода к многооконному режиму и закрытия программы.

Основную часть экрана занимает окно редактирования, первоначально пустое. Курсор имеет вид красного крестика. Линейки прокрутки на нижней и правой кромках текущего окна предназначены для перемещения изображения на экране.

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

Главное меню – осуществляет полное управление всеми процессами, позволяет выполнить все команды системы.

File – работа с файлами

Edit – редактирование документов

View – изменение средcтв обзора и вкл/выкл элементов интерфейса

Insert – вставка различных объектов

Format – изменение формата (параметров) объектов

Tools – управление процессом вычислений

Symbolic – операции символьного процессора

Window – управление окнами

Help – справка

Панели инструментов служат для быстрого выполнения команд. Стандартная панель инструментов (Standart) служит для выполнения действий с файлами, редактирования документов, вставки объектов и т.п. Панель форматирование (Formatting) предназначена для форматирования текста и формул. Панель математика (Mach) служит для вставки математических символов и операторов. Панель дополнительные ресурсы (Recources) содержит список электронных книг, включенных в оболочку Mathcad.

Открыть или закрыть панели инструментов можно с помощью главного меню View-Toolbars.

Панель математика содержит следующие кнопки, нажатие на которые проводит к раскрытию следующих панелей инструментов:

Редакторы MathCAD

Фактически MathCAD интегрирует в себе три редактора: текстовый, формульный и графический. Возможны два типа вычисления в среде MathCAD, осуществляемые с помощью формульного редактора: численный и символьный. При первом – результат получается в виде числа, при втором – в форме математического выражения. Результаты расчетов могут быть представлены в виде числа, выражения (символьной форме), таблицы, графика.

Для входа в текстовый редактор достаточно ввести символ « или просто начать набор текста. При этом появляется прямоугольник, в который можно вводить текст. Курсор имеет вид красной вертикальной четы. Текст редактируется общепринятыми средствами. Для выхода из редактора необходимо указать мышью вне текстового поля.

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

Для того, чтобы переместить формулу в документе на нее наводят курсор мыши (должен иметь вид меленькой черной ручки).

Обратите внимание, что при вводе формулы в виде суммы дробей – сначала необходимо ввести все числители, а затем знаменатели.

Для построения графиков используются шаблоны из главного меню Insert-Graph. График должен располагаться ниже формулы, по которой он строится.

Удаление, копирование и перенос графиков осуществляется по той же методике, что и математических выражений. Изменение размера графика осуществляется путем протаскивания курсора, установленного на обрамляющей его рамке.

Простейшие приемы работы.

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

Общение пользователя с MathCAD происходит на некотором промежуточном математически ориентированном языке программирования – входном языке. Многие математические записи в этом языке вводятся просто выбором (и последующим заполнением) шаблонов соответствующих операторов и функций.

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

MathCAD вычисляет выражения слева направо и сверху вниз.

Алфавит и словарь языка

Алфавит языка содержит малые и большие латинские и греческие буквы, арабские цифры (от 0 до 9), идентификаторы системных переменных, операторы, имена встроенных функций, специальные знаки.

Имена переменных и функций не могут начинаться с цифры, знака подчеркивания, штриха, символа процента и включать в себя пробелы. MathCAD воспринимает прописные и строчные буквы как различные идентификаторы, не делает различий между именами функций и переменных. Имена, используемые MathCAD для встроенных констант, единиц измерений и функций можно переопределить. Но следует учитывать, что это изменить их значения в используемой программе. Для того чтобы записать индекс в имени – записываем имя переменной, потом ставим точку и пишем индекс (следует отличать от индексов элементов массивов).

Типы данных – константы, переменные, массивы и файлы.

  1.  Константы – поименованные объекты, значение которых заведомо предопределено.

А) целочисленные – от 0 до 10307.

Б) вещественные числа с порядком и мантиссой – 10-307 – 10307.

В) восьмеричные числа – помечаются латинской буквой О.

Г) шестнадцатеричные числа – помечаются латинской буквой H.

Д) комплексные числа Z=ReZ+i*ImZ, Z=ReZ+j*ImZ, где i или j мнимая единица.

Е) системные константы.

переменная

ввод

Значение

С панели инструментов

Число

е

е

Основание натурального логарифма

С панели инструментов

бесконечность

%

%

процент

TOL

Погрешность численных методов (по умолчанию 0,001)

ORIGIN

Нижняя граница индексов массивов (по умолчанию 0)

g

g

Ускорение свободного падения

Ж) строковые константы – записывают в двойных кавычках.

З) единицы измерения физических величин.

  1.  Переменные – поименованные объекты, которым можно присваивать различные значения. Тип переменной определяется ее значением.

Малые и большие буквы в именах переменных различаются. Имя переменной может иметь индекс. Для этого после записи имени ставят точку и затем записывают индекс (не следует путать индекс переменной с индексом элемента массива).

Для определения значения переменной в MathCAD используются операторы присваивания. Операторы присваивания находятся на панели инструментов View-Toolbars-Evalution.

= - используется кА оператор присваивания только при первом присваивании значения.

= - вывод значения переменной или выражения.

:= - основной оператор присваивания (локальное присваивание, располагается в начале документа)

- глобальное присваивание (может быть использовано в любом месте документа и распространяется на весь документ, но значение переменной может быть изменено с помощью оператора :=).

Оператор присваивания := набирают с клавиатуры, нажав клавишу двоеточие, второй символ программа добавляет сама.

Применение размерных переменных.

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

(Очков) Тип числовой переменной в среде MathCAD не совсем удачно подменен размерностью.

Иногда приходится отказываться от размерностей. Международная система физических единиц (СИ) базируется на семи основных единицах (длина — метр, масса — килограмм, время — секунда, сила тока — ампер, абсолютная температура — кельвин, сила света — кандела и количество вещества — моль). Но в среде MathCAD их пока только пять: длина, масса, время, заряд и абсолютная температура.

Да, как это ни печально, но с единицами измерений при работе в среде MathCAD часто приходится расставаться. Вина здесь не только фирмы, но и всей теории размерностей. Дело в том, что эта теория какая-то незаконченная. Недаром ее избегают освещать в математических справочниках. В физических же справочниках, когда дело доходит до размерностей, теряется всякая логика. Из-за этого многие научные дисциплины стараются избавиться от пут размерностей, вводя безразмерные величины (критерии): число Рейнольдса, например, если вспомнить аэродинамику. Освобождение от размерностей подкреплено целой теорией — теорией подобия. Все это не могло не отразиться на развитии пакета MathCAD, там упомянутая пятерка размерностей (масса, длина, время, заряд и температура) неудобоварима в психологическом и даже в парапсихологическом смыслах. Химики — коллеги автора (Очков), например, никак не могут понять, как концентрацию раствора можно измерять только молями, которых, кстати, в пакете MathCAD нет. Сама по себе размерность — понятие скользкое, опирающееся не только на науку, но и на привычки людей, законы искусства и даже на постулаты религии. Стоит только вспомнить попытки заменить в метеосводках миллиметры ртутного столба на гектопаскали. Парапсихологический, если так можно выразиться, аспект проблемы размерностей в среде MathCAD выражен в том, что пятерка — число некрасивое, а значит, и неправильное. Там должна быть семерка, но не та, которая заложена в Международную систему, а некая другая.

Семь — число совершенное и в науке, и в искусстве и в религии: стоит только перечислить цвета радуги, ноты музыкальной гаммы, дни недели, чудеса света, наиболее промышленно развитые страны мира, античных мудрецов, смертные грехи. В классическом варианте языка ВАSIС семь структурных управляющих конструкций алгоритма (цикл с предпроверкой, цикл с постпроверкой, цикл с выходом из середины, альтернатива, функция, процедура и множественное ветвление) и семь типов переменных. Да и сама цифровая вычислительная техника базируется не на числе 8 (байт), как принято считать, а на числе 7. Два (бита) в степени восемь (256) — это число символов в АSCI-таблице. Но ASCI-таблица ни машиной, ни человеком никогда не воспринимается как единое целое, а всегда разбивается на две половины — верхнюю и нижнюю по 128 знаков в каждой. А это два в степени семь, а не восемь:

Еще одна базовая размерность лежит на поверхности, но почему-то напрочь отвергается учеными. Это единица измерения стоимости — рубли, доллары, марки и т.д.(Тот же математик может сказать: у меня в кабинете лежит книга массой в один килограмм, длиной в один дециметр и ценой в тысячу рублей), но в физико-математические дисциплины и пакеты единица измерения стоимости никогда не будет введена. Из-за этого в среде MathCAD экономические расчеты лишены размерности. Кстати, в язык ВАSIС размерность валюты введена косвенно через новый тип числовых переменных — "currency”.

Можно предположить, что еще какая-то базовая размерность, объединяющая килограммы, метры, секунды, кулоны (амперы) и градусы Кельвина с чисто эмпирическими (кандела) или счетными (моль) единицами, она неведома нам, но зарезервирована Создателем (Господом Богом или Природой — кто как для себя считает) для измерения биополей, например, или чего-то другоо, относящегося к областям экстрасенсорики, телепаии, телекинеза и прочей чертовщины. Говорят, что в Солнечной системе более десяти планет. Где-то там, за солнечной «околицей», описывает свою дугу неведомая планета, о существовании которой мы можем судить голько по вносимым ею возмущениям в траектории движения Нептуна или Плутона. Так и седьмая гипотетическая основная единица измерения, витая в областях, пока недоступных научному анализу, вносит психологические (парапсихологические) возмущения в теорию размерностей. Это не могло не отразиться на пакете MathCAD, пользователи которого, «наигравшись» с размерностями, в конце концов, от них отказываются не только по психологическим причинам (вводим радианы или градусы, например, а угол все равно остается безразмерным), но и из-за фактических ошибок, вину за которые нельзя возложить только на разработчиков пакета MathCAD, если принять во внимание «парапсихологические возмущения».

Ранжированные (дискретные) переменные (range variable).

Выражение «дискретная переменная», использовавшееся в ранних книгах, более точно отражает суть понятия — диапазон изменения переменной: вместо непрерывной переменной используется ряд чисел, выстроенных в порядке возрастания или убывания. Простота использования этого оператора восхищает. Без использования дискретной переменной было бы очень сложно построить графики, вывести таблицы результатов расчета. Если в функцию пользователя подставить численное значение переменной, результатом расчета будет число. Дискретная переменная задает ряд значений переменной, для которых вычисляется функция пользователя. Этот ряд значений функции можно вывести в виде графика или таблицы.

Эти переменные используются для создания рядов, при построении графиков. Ранжированная переменная является множеством значений, это не скалярная величина и не вектор (одномерный массив). Нельзя выбрать любое значение ранжированной переменной, т.к. они (значения) не имеют индексов. Формат записи ранжированных переменных:

Имя:=нач.значение, нач.значение+шаг .. конеч.значение

Знак диапазона – двоеточие набирается с помощью знака ; (точка с запятой) на клавиатуре или с помощью знака m..n на панели инструментов Matrix (Матрица).

  1.  Массивы – структурированные типы данных.

Массив задается именем, как и любая переменная. Порядковый номер элемента массива задается индексом или индексами. Массивы можно разделить на одномерные (вектор, вертикальный массив), двумерные (матрица) и многомерные. Массивы могут содержать числовые, символьные данные, формулы и т.п. По умолчанию начальное значение  индексов массивов нулевое, что не всегда удобно. Для того, чтобы номера индексов начинались с единицы необходимо переопределить системную константу ORIGIN (просто присвоить ее значение 1).

Элементы массива являются индексированными переменными. Обращение к элементу массива осуществляется указанием имени массива и индексов элемента массива через запятую, например, Mi,j , где I – номер строки,  j – номер столбца, где находится элемент. Индекс вводится с помощью открывающейся квадратной скобки [ или кнопки панели инструментов Матрица.

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

Можно присваивать значения элементам массивов через оператор присваивании. Например, М1,2:=3. При этом способе незаданные элементы по умолчанию являются нулевыми, размерность массива определяется наибольшим заданным индексом.

Можно задать элементы массива, используя ранжированные переменные. Например,

I:=0..3    J:=0..2

M0I,J:=0   формирование нулевой матрицы

MI,J:=if(I=J,1,0)      формирование единичной матрицы

В приведенном примере if – это функция создания условных выражений, она имеет вид if(условие, выражение1, выражение2), т.е если условие выполняется, то вычисляется выражение1, иначе –выражение2..

Если элементы матрица определяются через индексы (значение элементы вычисляется через его индексы), т.е. могут быть представлены в виде функции от индексов, то для создания и заполнения матрицы можно воспользоваться функцией matrix(N,M,F), где N –число строк в матрице, M – число столбцов, F – функция от двух аргументов для вычисления элементов матрицы.

Действия с матрицами. Основными матричными операциями являются умножение матрицы на число, сложение и перемножение матриц, транспонирование. В MathCAD существуют функции для работы с массивами. Эти операторы и функции рассмотрены далее.

  1.  Файловые данные – используются для обработки данных, например, результатов измерений. Файловые данные – простые текстовые файлы, имеющие имя и расширение .dat.

Чтобы начать работать с файлом необходимо выбрать в главном меню команду Insert-Data-File Input (или File Output). После этого появляется диалоговое окно, в котором задается имя файла и имя массива с данными.

Операторы. Реализация вычислений.

Шесть правил вычислений в среде MathCAD. (Каганов)

Реализация численного метода вычислений осуществляется:

  1.  путем обращения к панелям математических инструментов из меню Вид;
  2.  путем обращения к встроенным функциям из меню Вставка;
  3.  с помощью клавиатуры.

Реализация символьного метода, при котором происходит преобразование одного математического выражения в другое, осуществляется:

  1.  путем обращения к меню Символы;
  2.  путем обращения к панели математических инструментов Символы из меню Вид;
  3.  с помощью клавиатуры.

В том месте рабочей области текстового окна, где установлен курсор-стрелка, после щелчка левой клавиши мыши возникает визир в виде плюса красного цвета. На месте установки визира отражается результат той или иной команды или операции и происходит ввод в программу требуемого математического выражения. После ввода первого символа визир преобразуется в две линии – горизонтальную и вертикальную – синего цвета. Перемещение визира осуществляется с помощью мыши при нажатой левой клавиши мыши или клавиш со стрелками.

Правило 1. Связано с обращением к панелям математических инструментов из меню Вид, позволяет получить результат в виде числа. Сначала вызывает соответствующая панель инструментов, затем производится щелчок по требуемой пиктограмме (кнопке), после этого в рабочей области текстового окна в месте нахождения красного визира появляется шаблон выражения. В шаблон вводятся исходные данные, ввод знака равенства дает числовой результат.

Пример. Вычислить cos угла, равного 0,5 рад.

Вызываем панель Арифметика, выбираем кнопку cos. В рабочей области появляется выражение cos(■). На место черного квадрата вписываем 0.5, после скобок ставим знак =, после чего автоматически получаем результат cos(0.5)=0.878.

Правило 2 связано с обращением к встроенным функциям из меню Вставка, позволяет получить результат в виде числа. Обращаемся к пиктограмме «Встроенная функция f(x)» на стандартной панели инструментов. В появившемся диалоговом окне в разделе «Категория функций» выбираем определенное имя, а в разделе «Название функции» - требуемую функцию. После нажатия на ОК или вставить в рабочей области текстового окна появляется выбранная функция, в которую вписываются заданные числа и вводится знак =, после чего автоматически получается результат.

Пример. Вычислить cos угла, равного 0,5 рад.

Обращаемся к пиктограмме «Встроенная функция f(x)», в разделе «Категория функций» выбираем «Тригонометрия», а в разделе «Название функции» - cos. Нажимаем ОК и на экране появляется выражение cos(■). На место черного квадрата вписываем 0.5, после скобок ставим знак =, после чего автоматически получаем результат cos(0.5)=0.878.

Правило 3 связано с вводом необходимых знаков с помощью клавиатуры. В данном случае все знаки (названия функций, интеграла, дифференциала и т.п.) вводятся с помощью клавиатуры, в том числе с помощью определенных сочетаний клавиш на клавиатуре.

Правило 4 связано с обращением к математической панели инструментов Символы, позволяет получить результат как в символьном, так и в численном виде. Математическое выражение, подлежащее преобразованию, записывается в рабочей области текстового окна и с помощью курсора обрамляется рамкой. Далее в зависимости от вида преобразования выбирается соответствующее ключевое слово. После щелчка по выбранному ключевому слову к записи автоматически добавляется это слово и символический знак равенства →. После второго щелчка вне рамки записи автоматически появляется результат в виде нового символьного выражения, полученного из исходного в результате преобразования.

Пример.

Правило 5 связано с обращением к меню Символы, подменю Расчеты, позволяет произвести символьные вычисления, в том числе и в комплексной области. Математические выражения, связанные определенными операциями, записываются в рабочей области и с помощью курсора обрамляются рамкой. Далее производится обращение к строке «Символические» (при работе с комплексными числами – к строке «Комплексные»). После щелчка мыши на рабочем листе появляется результат в виде нового выражения, располагаемого под исходной записью.

Пример.

(2a+5a2+8b2)(a3-3b2)

2a4-6ab2+5a5-15a2b2+8b2a3-24b4

Правило 6 связано с обращением к меню «Символы». Сначала необходимо  в рабочей области текстового окна записать подлежащее преобразованию символьное выражение. При обращении к подменю «Переменные» в этом выражении необходимо выделить (затемнить) один символ – переменную. Далее с помощью подменю «Переменные» можно: найти корни алгебраического или трансцендентного уравнения (строка «Вычислить»); произвести дифференцирование функции (строка «Дифференциалы»); произвести интегрирование функции (строка «Интегралы»); разложить функцию в степенной ряд Маклорена (строка «Разложить на составляющие»); разложить функцию на элементарные дроби (строка «Преобразовать в частичные доли»). При обращению к подменю «Матрица» следует обрамить рамкой все выражение.

Арифметические операторы.

Знаки этих операторов находятся на панели инструментов Math-Calculator. Операторы предназначены для выполнения арифметических действий над операндами и конструирования математических выражений. Знак возведения в степень ^ (крышечка), на экране степень отражается в виде верхнего индекса.

Для работы с комплексными величинами необходимо ввести объявление мнимой единицы ().

Операторы отношения и логические операторы.

Знаки этих операторов находятся на панели инструментов Math-Boolean.

Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно. Эти операции используются для управления циклами и в условных операторах. Результат сравнения имеет булевский тип и принимает одно из двух значений: истина или ложь. В операциях отношения используются символы:

= - равно;

- не равно;

> - больше;

< - меньше;

- больше или равно;

- меньше или равно.

В программе используются следующие логические операции, результатом выполнения которых является логическое значение истина или ложь:

– логическое отрицание;

– логическое И;

– логическое ИЛИ;

– исключающее ИЛИ.

Выполнение операций происходит с учетом их приоритета: высший приоритет имеет операция отрицания, второй – операции типа умножения, третий – операции типа сложения, четвертый – операции типа отношения.

Работа с функциями.

Встроенные функции задаются именем и значением аргумента в круглых скобках. Аргумент может быть действительным или комплексным числом. В MathCAD существуют встроенные тригонометрические, гиперболические, показательные, логарифмические, статистические и др. функции. Для выбора функции на стандартной панели инструментов есть кнопка f(x). Появляется диалоговое окно, аналогичное окну функций в программе Excel.

Следует отметить, что принцип разбиения функций по группам или категориям в некоторых случаях представляется спорным. Поэтому при выборе функции полезно обращать внимание на поле с названием функции и краткую справку по выбранной функции. При этом следует иметь в виду, что очень часто встроенные функции MathCAD, по сравнению с их математическими двойниками, имеют некоторые особенности определения (например, ограниченная область определения и т.п.).

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

Работа с векторами и матрицами.

Векторизация – одновременное проведение некоторой скалярной математической операции над всеми элементами вектора или матрицы. Т.е. векторизация позволяет применять скалярные операторы и функции к массивам. Обозначается стрелкой над названием массива или операции. Операция задается с панели инструментов Matrix после написания имени массива или выражения с использованием массива (или массивов).

По отношению к векторам и матрицам могут применяться арифметические операторы (сложение, вычитание, деление и умножение) и операторы с панели инструментов Matrix (транспонирование, детерминант, выделение столбца, обращение матрицы). Естественно при этом массивы должны удовлетворять определенным условиям, например, при сложении и вычитании иметь одинаковую размерность  и размер, при умножении число столбцов первого массива должно быть равно числу строк второго массива, к квадратным матрицам применима операция возведения в степень.

Иногда необходимо производить какие-либо действия только с одним (несколькими) столбцами или строками матрицы. Чтобы выделить из матрицы столбец существует оператор на панели инструментов Matrix М<>. Если необходимо выделить строку, то сначала матрицу транспонируют, а затем из полученной матрицы выделяют строку. Результат в этом случае будет вектором-столбцом. Если нужно получить вектор-строку, то опять выполняют транспонирование.

В матрицу можно добавлять (удалять) строки или столбцы. Для этого выделяют элемент матрицы (ставят после него курсор). Строки будут добавляться сразу под строкой с этим элементом, а столбцы добавляются справа от столбца с выделенным элементом. Затем выбирают команду Insert-Matrix и в открывшемся диалоговом окне указывают число добавляемых (или удаляемых) строк и столбцов. Далее нажимают клавишу Insert (или Delete)

В MathCAD существует ряд функций для создания и матриц и вычисления их характеристик, функция для поиска минимальных и максимальных элементов массивов, выделения действительных и мнимых частей элементов матрицы.

Очень часто новая матрица создается путем объединения уже существующих. Функцией stack(M1,M2,…) матрицы М1 и М2 добавляются одна к другой снизу (матрицы - аргументы функции должны иметь одинаковое число столбцов), функцией augment(M1,M2,…) матрицы М1 и М2 объединяются слева направо (матрицы-аргументы должны иметь одинаковое число строк), функция submatrix(M1,ir,jr,ic,jc) выделяет из матрицы М1 строки от ir до jr и столбцы от ic до jc.

Решение уравнений

Функции для решения уравнений.

(Очков) Собака после выстрела и команды «Искать!» может вернуться к охотнику с тремя результатами:

1) собака приносит подстреленную дичь;

2) собака, израсходовав отпущенный лимит времени или услышав призывной сигнал охотника, возвращается с пустыми руками, пардон, зубами;

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

Поиск решения с помощью функций root, Find и Minerr во многом напоминает ружейную охоту. Пользователь формирует анализируемую функцию, вводит ограничения, выставляет параметры поиска (заряжает ружье, выслеживает дичь), а затем нажимает клавишу F9 (спусковой крючок ружья). «Собака» (среда MathCAD) «прыгает в воду» и возвращается с тремя результатами:

1) решение найдено (см. пункт 3 рис. 3.1);

2) решения не найдено (см. пункт 4);

3) MathCAD пытается подсунуть пользователю что-то такое, что только издали напоминает правильный результат (см. пункт 5).

При этом ситуация осложняется еще и тем, что пользователь MathCAD в отличие от охотника, который знает, что такое дичь, часто не имеет понятия о том, что такое правильный результат. У среды MathCAD, к сожалению, нет глаз и хвоста, по которым можно определить, что принесено к ногам охотника — пользователя пакета.

Работа с функциями root, Find и Minerr — это хождение на охоту с чужой собакой, повадки которой неизвестны. «Своя собака» — это методы и алгоритмы, написанные на языке MathCAD и вставленные в документ, по которым решение ищется не вслепую, а наверняка.

А если писать программы недосуг, то вот семь советов по работе с функциями root, Find и Minerr :

1) найдя решение, еще раз заставьте MathCAD найти его уже от новой опорной точки;

2) перед решением оптимизационной задачи с ограничениями прогоните ее не с функцией Minerr , а с функцией Find для того, чтобы оценить область существования решений;

3) начинайте поиск оптимального решения от одной из точек, найденной в пункте 2 и лежащей недалеко от оптимума;

4) вводите ограничения постепенно: ввели первое - нашли решение, ввели второе - уточнили его и т.д.;

5) начинайте решение оптимизационной задачи с целочисленными аргументами без ограничений на целочисленность. Нецелочисленный ответ всегда будет полезен, так как 1) от него можно начать поиск целочисленного решения, 2) можно удовлетвориться нецелочисленным решением (появление совместителя, например, в задаче об оптимальном штатном расписании) и 3) числа можно округлить вручную, если целочисленное решение не находится;

6) проверяйте правильность найденных корней, минимумов и максимумов построением графиков и поверхностей, где эти точки видны, благо пакет MathCAD имеет богатый набор графики, средств визуализации зависимостей. Если аргументов у функции больше двух, то постройте графики сечений через точку оптимума по всем координатам и убедитесь, что там все частные производные равны нулю;

7) имейте набор пользовательских функций для решения конкретных задач не лобовой атакой через встроенные функции, а более осмысленными способами. Подобные функции-программы приведены в этюде 6.

Решение систем линейных алгебраических уравнений.

Система таких уравнений в матричной форме имеет вид A*X=B, где A – матрица коэффициентов при неизвестных, X – вектор неизвестных, B – вектор свободных членов.

Решение такой системы можно найти как X:=A-1*B

В программе MathCAD существуют специальные функции для решения систем уравнений: функция lsolve(A,B) возвращает вектор Х.

Функции для решения уравнений.

Для уравнений F(x)=0 решение можно найти с помощью функции root(F(x),x). Эта функция реализует вычисления итерационным методом, возвращая значение переменной х, при котором функция равна нулю.

Для решения систем нелинейных уравнений используется специальный вычислительный блок

Задание начальных условий

Given

Уравнения [и ограничения]

Выражения с функциями Find или Minerr

Функция Find используется, когда решение реально существует, функция Minerr пытается найти максимальное приближение даже к несуществующему решению. При вводе системы уравнений используется оператор = (логический).

Решение системы нелинейных дифференциальных уравнений.

Общим правилом для различных методов численного решения дифференциальных уравнений (ДУ) или системы ДУ является разбиение непрерывной функции y(t) на интервалы (шаги) и определение решения в конце каждого шага, т.е. в дискретные моменты времени, путем некоторой итерационной процедуры.

В Mathcad решить задачу Коши для такой системы можно с помощью следующих функций:

rkfixed(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с постоянным шагом;

Rkadapt(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с автоматическим выбором шага;

rkadapt(y, x1, x2, acc, npoints, D, kmax, save) —решения задачи в заданной точке методом Рунге-Кутты с автоматическим выбором шага;

Bulstoer(y, x1, x2, npoints, D) —решение задачи на отрезке методом Булирша-Штера;

bulstoer(y, x1, x2, acc, npoints, D, kmax, save) —решение задачи в заданной точке методом Булирша—Штера;

Stiffr(y, x1, x2, acc, D, J) — решение задачи для жестких систем на отрезке с использованием алгоритма Розенброка;

stiffr(y, x1, x2, acc, D, J, kmax, save) —решения задач для жестких систем на отрезке с использованием алгоритма Розенброка;

Stiffb(y, x1, x2, acc, D, J) —решение задачи для жестких систем на отрезке с использованием алгоритма Булирша—Штера;

stiffb(y, x1, x2, acc, D, J, kmax, save) —решение задач для жестких систем в заданной точке с использованием алгоритма Булирша—Штера.

Смысл параметров для всех функций одинаков и определяется математической постановкой задачи: y — вектор начальных условий , ; x1, x2 — начальная и конечная точки отрезка интегрирования системы; для функций, вычисляющих решение в заданной точке, x1 — начальная точка, x2 — заданная точка; npoints — число узлов на отрезке [x1, x]; при решении задачи на отрезке результат содержит npoints+1 строку; D — имя вектор-функции D(x,y) правых частей , ; ( имя D – от Derivative — производная, имя вектора, содержащего выражения для производных (derivatives) искомого решения); J — имя матрицы-функции J(x,y) размерности n x (n+1), в первом столбце которой хранятся выражения частных производных по x правых частей системы, а в остальных n столбцах содержится матрица Якоби правых частей:

.
acc — параметр, контролирующий погрешность решения при автоматическом выборе шага интегрирования (если погрешность решения больше acc, то шаг сетки уменьшается; шаг уменьшается до тех пор, пока его значение не станет меньше save ); kmax — максимальное число узлов сетки, в которых может быть вычислено решение задачи на отрезке, максимальное число строк в результате; save — наименьшее допустимое значение шага неравномерной сетки.

Результат работы функции — матрица, содержащая n+1; ее первый столбец содержит координаты узлов сетки, второй столбец — вычисленные приближенные значения решения y1 (x) в узлах сетки, (k+1) -й — значения решенияyk (x) в узлах сетки.

При решении задачи Коши для дифференциального уравнения первого порядка результат вычислений всех приведенных выше функций — матрица, в первом столбце которой содержатся координаты узлов сетки x0 , x1 , ..., xN, а во втором — значения приближенного решения в соответствующих узлах.

Для поиска решения системы ДУ с применением функций rkfixed и Rkadapt, с помощью которых производятся вычисления по методу Рунге-Кутта, необходимо задать:

  1.  начальные условия;
  2.  дифференциальное уравнение, представляемое в виде системы ДУ первого порядка;
  3.  значения коэффициентов, входящих в уравнения;
  4.  набор точек, в которых следует найти решение.

В функцию rkfixed(y,x1,x2,n,F) входят следующие параметры:

y – вектор начальных условий с размерностью, соответствующей порядку k ДУ или числу уравнений первого порядка в системе ДУ;

x1,x2 – граничные значения интервала, на котором ищется решение;

n – число фиксированных шагов или точек, на которых ищется приближенное решение;

F вектор, в котором записаны правые части ДУ

В результате решения ДУ с помощью этих функций получается матрица, содержащая (k+1) столбцов и (n+1) точек. В первом столбце содержатся фиксированные значения аргумента t0,t1,t2,…tn; во втором – соответствующие им значения искомой функции y(t0), y(t1), y(t2),… y(tn), в третьем – значения первых производных в тех же узлах и т.д.

Функция rkfixed ищет приближенное решение с постоянным шагом, с помощью функции Rkadapt осуществляется адаптивный контроль этого процесса: с более мелким шагом при быстром изменении функции и более крупным – при медленном изменении функции.[1]

Жесткие системы. Например, в решении системы ДУ присутствуют слагаемые, одно из которых убывает очень быстро (е-1000х), а другое гораздо медленнее (е-2х). Для получения правдоподобного результата нужно выбирать маленький шаг, причем, на всем интервале интегрирования. Для интегрирования таких систем применяют специальные методы. Эти методы в MathCAD реализуют функции Stiffb, Stiffr. [2]

В таблице приведены некоторые функции для решения систем ДУ.

Пример программы решения системы ДУ.

Программирование в MathCAD

В MathCAD имеется специальная панель инструментов для ввода программных модулей. Программный модуль выделяется в тексте документа вертикальной жирной чертой.

Построение графиков.

График должен располагаться ниже формулы, задающей его. Удаление, копирование и перенос графиков осуществляется по той же методике, что и математических выражений. Изменение размера графика осуществляется путем протаскивания курсора, установленного на обрамляющей его рамке.

Создание графика осуществляется командой Insert-Graph или с помощью панели инструментов Graph.

Построение графиков в декартовой системе координат.

В этом случае вводится выражение для функции f(x) и пределы изменения переменной х. Выбирают шаблон двумерного графика X-Y Plot и вводят имя переменной х по оси абсцисс  и имя функции по оси ординат. Если на одном рисунке необходимо отобразить графики нескольких функций, то функции имена функций перечисляются в шаблоне графика через запятую (на экране монитора эта запятая не появляется). При построении графиком можно изменить пределы изменения аргумента. Окно задания формата графика появляется, если выделить график и дважды щелкнуть левой клавишей мыши. При выделении графика и нажатии на правую клавишу мыши появляется контекстное меню, с помощью которого можно изменить отображение графика.

Графики в полярной системе координат.

Построение таких графиков можно осуществлять двумя способами. Можно использовать построение графика в полярной системе координат, используя шаблон Polar Plot, а можно использовать шаблон X-Y Plot. При использовании X-Y Plot по оси Х устанавливаем R(w)*cos(w), по оси Y устанавливаем R(w)*sin(w), где w – угол между горизонтальной координатной осью и радиус-вектором, R(w) – длина радиус-вектора.

Трехмерные графики.

В MathCAD можно создавать график-поверхность, в том числе заданный в параметрической форме, контурный график, трехмерную гистограмму, трехмерный график рассеяния, трехмерный график векторного поля. Для изменения параметров графика используют операцию установки формата графика (угла поворота, заливки и т.п.)

Построение графиков поверхностей и линий уровня Z(X,Y) сводится к определению матрицы М значений, в которой строкам и столбцам соответствуют определенные значения X и Y, а величина элемента определяется координатой Z(X,Y). Эта матрица называется матрицей аппликат поверхности. При построении масштабы по осям X и Y не проставляются, можно вывести только порядковые номера элементов матрица аппликат.

Параметрические графики.

Параметрическое задание функции означает, что каждая из координат является функцией от независимых параметров (или параметра, например, времени). При построении параметрических графиков сначала задаем зависимости координат от параметров. Затем выбираем команду Insert-Graph-Surfase Plot и в области создания графика вводим в круглых скобках названия трех координат, разделенные запятыми.

Обработка экспериментальных данных.

При обработке экспериментальных данных, как правило, возникает задача аппроксимации результатов эксперимента аналитической зависимостью у = f(x) которую можно использовать в последующих расчетах.

Существует три возможности аппроксимации опытных данных.

1. Аппроксимирующая функция f(х) должна проходить через все опытные точки. Такой способ аппроксимации называется интерполяцией.

2. Выбрать аппроксимирующую функцию таким образом, чтобы она сглаживала, усредняла опытные данные. Такой способ аппроксимации называется регрессией, или сглаживанием.

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

В MathCAD имеется много встроенных функций для обработки массивов данных. Bстроенные функции MathCAD позволяют при интерполяции проводить через экспериментальные точки кривые разной степени гладкости.

При линейной интерполяции аппроксимирующая функция соединяет опытные точки отрезками прямых линий. Для линейной интерполяции используется встроенная функция linterp(x,y,t), где х — вектор опытных значений аргумента; у — вектор опытных значений функции; t — значение аргумента, при котором вычисляется интерполирующее значение функции.

Иногда надо знать одно интерполирующее значение функции, но чаще определяется ряд значений функции, тогда t — вектор значений, а результат расчета — массив интерполирующих значений. Еще чаще t — просто переменная (аргумент интерполирующей функции), тогда результат расчета — функция, которую можно далее интегрировать, дифференцировать и т. д.

Аппроксимация функций.

При решении многих задач исходная функция задается в табличной форме или по точкам (например, результаты экспериментальных исследований). Для дальнейшего анализа необходимо знать значение функции при любом значении аргумента, для этого служит процедура аппроксимации. При определении функции между узловыми точками аппроксимация называется интерполяцией.

MathCAD располагает двумя видами такой интерполяции: кусочно-линейной и сплайновой.

Пусть исходная функция, заданная по точкам, записана в виде, Y(X). Тогда функция W:=cspline(X,Y) возвращает вектор вторых производных W при приближении в узловых точках к кубическому полиному. Вторая функция Z(x):=interp(W,X,Y,x) возвращает значения функции Z(x), которая аппроксимирует исходную, дискретно заданную функцию Y(X), при любом заданном значении аргумента х между узловыми точками. В узловых точках значения функций Y(X) и Z(x) совпадают.

В MathCAD имеются встроенные функции для оценки 17 видов распределения случайных величин (norm - нормальное, exp - экспоненциальное, pois,- Пуассона, t - Стьюдента , unif - равномерное, weibull – Вейбулла). Функции различаются написанием первой буквы, а другая часть имени функции указывает выбранный вид распределения (обозначена *):

d*(x,param) – плотность вероятности (распределения),

p*(x,param) – функция распределения,

q*(P,param) – квантиль распределения (обращение функции распределения, по известной вероятности и типу распределения определяется случайная величина),

r*(M,param) – вектор из М независимых чисел, распределенных по выбранному закону,

здесь х – значение случайной величины, З – значение вероятности, param – список параметров распределения.

Построение гистограмм.

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

histogram(n,data) – функция возвращает два столбца. В первом содержатся средние точки каждого из n интервалов, на которые был разбит диапазон исходных данных data, во втором – частоты попадания элементов вектора data в каждый из n интервалов.

hist(int,data) – функция возвращает вектор частот, с которыми данные попадают в интервалы.  int – вектор середин интервалов (можно задать интервалы разной длины) или число интервалов, data – вектор исходных данных.

Литература.

  1.  Каганов В.И. Компьютерные вычисления в средах Excel и MathCAD. – М.: Горячая линия – Телеком, 2003. – 328с.
  2.  Плис А.И.. Сливина Н.А. Mathcad. Математический практикум для инженеров и экономистов: Учебное пособие. – 2-е изд.. перераб.и доп. – М.: Финансы и статистика, 2003. - 656с.
  3.  Васильев А.Н. MathCAD 13 в примерах. – СПб.: БХВ-Петербург, 2006. – 528с.
  4.  Макаров Е.Г. MathCAD: Учебный курс(+СD). – СПб.: Питер, 2009. – 384с.




1. им Деньщикова
2. Запорожець за Дунаєм став відомий оперний співак і композитор Семен ГулакАртемовський.
3. Форд мотор компани
4. Инвестиционная деятельность предприятия.html
5. Аль Хорезми - выдающийся математик и астроном
6. Бюджетное устройство и бюджетная система РФ
7. Исследование товарной марки
8. Курсовая работа- Организационные формы бухгалтерского учета на предприятии и их совершенствование в условиях рынка
9. Московский государственный университет экономики статистики и информатики МЭСИ на основании лицензии н
10. Ні 11 Лютого 2013 16-36 Переглядів- 128 Фото- lomonintek
11. Громадянське суспільство в правовій системі
12. КОНТРОЛЬНА РОБОТА з дисципліни ldquo;Корпоративна соціальна відповідальність Охорона праці в галузіrdquo
13. Два гуся гПенза ул
14. тема и конституционноправовое регулирование Пестрецова Избирательный принцип в Российской Федерации
15. ФУНКЦИИ БЮДЖЕТА Бюджет представляет собой основной финансовый план государства
16. Лицей 3 ТВОРЧЕСКИЙ ПРОЕКТ Изготовление юбки Выполнил- Проверила- Васил
17. Ислама Ибн Теймии да смилуется Аллах над нами и над этими двумя Алимами и я нашел два момента где Шейх огова
18. Философы и их идеи Философия Нового времени- эмпиризм и рационализм
19. на тему- Учение Платона об идеальном государстве Выполнил студент гр
20. Тема- Хирургическая операция.html