Mathcad как задать интервал с шагом
Перейти к содержимому

Mathcad как задать интервал с шагом

  • автор:

Лекция №1 — Основы работы в математическом пакете Mathcad

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

Использоваться как калькулятор для простых вычислений.

Определять значения выражений, заданных в символьном виде.

Производить матричные и векторные преобразования.

Решать линейные, нелинейные уравнения и системы уравнений.

Заменять справочные таблицы.

Производить дифференцирование, интегрирование, статистические расчеты и анализ данных.

Строить двумерные и трехмерные графики и т.п.

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

После запуска приложения MathCAD открывается окно, как это показано на рис. 1.1.

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

Рис. 1.1. Рабочее окно системы MathCAD

1.1. Основные команда MathCad

Главное меню системы MathCAD представлено набором команд, общим для большинства приложений операционной системы MS Windows, а также командами, представляющими специфические возможности:

Меню File (Файл) — работа с файлами.

Меню Edit (Правка) — редактирование документов.

Меню View (Вид) — настройка элементов окна. Команды меню View представлены на рис. 1.2.

ToolBars – содержит кнопки панелей инструментовStandard, Formatting, Math. Если отсутствует какая-либо из панелей, то следует включить соответствующую опцию, например, командой ViewToolbarsMath.

Status Bar – позволяет включать и отключать отображение строки состояния.

Ruler – позволяет включать и отключать отображение горизонтальной линейки для точного позиционирования документов на листе.

Regions – делает видимыми/невидимыми границы областей.

Zoom – изменение масштаба.

Refresh – обновить содержимое экрана.

Animate – анимация.

PlayBack – воспроизведение.

Preferences – настройки.

Рис. 1.2. Команды меню View (Вид) – редактирование документов

Меню Insert (Вставка) — позволяет помещать в MathCAD – документ графики, функции, матрицы, гиперссылки, компоненты и настраивать объекты.

Меню Format (Формат) — содержит команды, предназначенные для задания различных параметров, определяющих внешнее представление чисел, формул, текста, абзацев, колонтитулов и т.д.

Меню Math (Математика) — позволяет установить режимы и параметры вычислений.

Меню Symbolics (Символы) — реализует символьные вычисления.

Меню Window (Окно) — содержит команды для упорядочения взаимного расположения нескольких окон и позволяет активизировать одно из них.

Меню Help (Помощь) — информационный центр и справочники. Команда Help открывает окно, представленное на рис. 5.3. На вкладке «Содержание» справочные сведения распределены по темам. На вкладке «Указатель» темы представлены в алфавитном порядке. Вкладка «Поиск» позволяет находить конкретное понятие.

Рис. 1.3. Окно меню справки

1.2. Кнопки панели Math

Одна из сильных сторон MathCAD – это представление и ввод математических символов и выражений в привычной для человека форме. Это обеспечивается развитым графическим интерфейсом и инструментами, располагающимися на панелях инструментов приложения MathCAD (Math, Graph …). Открыть соответствующую панель инструментов можно с помощью команды главного меню ViewToolbars. Для удобства работы ссылки на них объединены на панели Math.

На панели Math расположены 9 кнопок. Каждая из кнопок, в свою очередь, открывает панели инструментов специального назначения. Это следующие кнопки (в развернутом виде эти панели представлены на рис. 5.4):

Calculator (Калькулятор). На этой панели находятся кнопки для задания математических операций, а также некоторых часто используемых функций. Эту кнопку можно использовать как калькулятор.

Boolean (Булева) – для ввода операторов сравнения и логических операций.

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

Graph (Графика) – инструменты для построения графика.

Vector and Matrix (Векторы и Матрицы) – инструменты для работы с векторами и матрицами.

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

Programming (Программирование) – инструменты для написания программ.

Greak Symbol (Греческий алфавит).

Symbolic (Символы) – для символьных вычислений.

Рис. 1.4. Рабочее окно системы MathCAD с развернутыми панелями инструментов панели Math

1.3. Запись команд в рабочем документе системы MathCad

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

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

1.4. Используемые типы констант

В системе MathCAD предусмотрены следующие типы данных:

Целые ( 2, –543, +13).

Вещественные (1.876, –375.08).

Комплексные (2.5+3i). Следует иметь в виду, что при записи мнимой единицы следует использовать специальную кнопку панели Calculator.

Строковые. Обычно это комментарий «Вычисление суммы».

Системные. Системная константа – это предварительно определенная переменная, значение которой задается в начале загрузки системы. Примерами таких констант являются числа e или .

1.5. Простые вычисления

Результат арифметического выражения отображается, если после него стоит знак «=» или знак «». В первом случае результат представляется в численном виде, а во втором – в символьном. Например, если записать арифметическое выражение в виде:

то в результате будем иметь: 123 + 256 = 379.

Пример символьного вычисления:

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

возведения в степень;

интегрирования и дифференцирования;

знаков факториала и суммирования и т.д.

Часть из этих операций можно «взять» на панели Calculator (Калькулятор). Примером записи выражения может быть:

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

Если набрать выражение=, то в окне документа будет отображено значение этой константы в виде: =3.141592.

Количество значащих цифр, отображаемых при вычислении, можно регулировать с помощью команды главного меню FormatResult. В этом случае команда предоставит диалоговое окно, как это показано на рис. 5.5, в котором следует переустановить параметры для вывода результата.

Рис. 1.5. Рабочее окно команды главного меню Format (формат Result )

Ниже приведен результат символьного вычисления арифметического выражения:

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

1.6. Использование встроенных функций

Важным понятием в математике является функция, т.е. некоторая зависимость одной переменной от другой или ряда других переменных и констант. В системе MathCAD имеется множество встроенных функций. Для избегания возможных ошибок не рекомендуется имя функции вводить с клавиатуры. Наиболее часто используемые функции, такие как: sin,cos, ln,… можно задать, используя их обозначение на панели инструментов Calculator. К другим функциям можно обратиться с помощью команды главного меню Insert (вставка функции), либо с помощью команды (кнопки) f(x). В окне, которое предоставляет команда (рис. 5.6), пользователь может установить категорию функции, познакомиться с примером ее записи и спецификацией (описанием), а затем произвести нужный выбор. После этого система предоставляет пользователю шаблон, в который требуется вписать необходимые параметры.

Рис. 1.6. Рабочее окно команды вставка функции: InsertFunction

Особенностью функции является возврат значения, т.е. функция в ответ на обращение к ней по имени с указанием её аргументов должна возвратить свое значение. Например, если где-то используется функция sin(0.452·), то вместо нее будет подставлено число, равное значению синуса с аргументом, равным значению выражения 0.452·.

1.7. Определение переменных и пользовательских функций

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

1.8. Локальные и глобальные переменные

Как и в других языках программирования в MathCAD различают локальные и глобальные переменные. Присваивание локальным переменным своего значения в системе MathCAD реализуют с помощью знака «:=». Для этого достаточно ввести знак двоеточие. Если ввести «X:5» то на экране появится «X:=5» (т.е. переменной X присваивается значение 5).

X := 1

sin(X) = 0.841

X := 1

Y := sin(X)

Y= 0.841

Глобальная переменная вводится следующим образом: “переменная

выражение”. Вид, который принимает в документе введенное таким образом присваивание: “переменнаявыражение”. Отличие глобальных переменных от локальных переменных в том, что глобальные переменные могут использоваться в любом месте документа (в том числе, слева от их определения и над ним).

Пример введение глобальной переменной.

1.9. Определение и использование пользовательских функций

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

Чтобы воспользоваться собственной функцией, нужно:

Вызвать описанную функцию для выполнения.

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

Формат определения функции:

Имя_функции(список формальных параметров) := выражение

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

Можно поместить результат в отдельную переменную:

Имя_переменной_результата:=Имя_функции(список_фактических параметров)

Имя_функции(список_фактических параметров)=

Пример 1. Требуется определить функцию Dist, которая будет возвращать расстояние заданной точки от начала координат. Использовать эту функцию для вычисления расстояний от точек А(1.96; –3.8) и В(6; 42.5) до начала координат.

Решение. Из курса линейной алгебры известно, что расстояние от начала координат до некоторой точки A(x, y) определяется по формуле . Здесь (x, y) – координаты заданной точки. Эта формула и будет составлять основу функцию Dist. При описании функции следует предусмотреть два формальных параметра — координаты точки. На место этих параметров должны будут вписаны фактические координаты заданных точек.

В соответствии с формулой определения расстояния от точки на плоскости до начала координат функция Dist может быть записана в виде: . А обращение к функцииDist для вычислений расстояний от заданных точек может быть представлено в виде:

Во втором случае результат помещается во вспомогательную переменную.

Пример 2. Дана функция вида: . Требуется найти ее максимальное и минимальные значения.

Решение. Для решения поставленной задачи целесообразно воспользоваться функцией поиска максимального значенияmaximize(f, var1, var2, . ), которая имеется в библиотеке стандартных функций системы MathCAD. Первым параметром у этой функции должно быть имя пользовательской функции, максимальные значения которой требуется найти. Следующие параметры задают имена переменных, в которых будут помещены искомые значения. В нашем случае это будет одна переменная х. Чтобы воспользоваться этой функцией, необходимо поставить перед ней блок решения с ключевым словом Given (Дано). Кроме этого итерационный алгоритм, обеспечивающий решение поставленной перед функцией maximize задачи, требует задания начальных значений искомого аргумента. Установку начальных значений следует произвести до блока решения. Аналогичное описание у функции minimize которая предназначена для поиска минимального значения определенной функции. Фрагмент с решением задачи представлен на рис. 5.7.

Рис. 1.7. Поиск максимального и минимального значений заданной функции

1.10. Определение переменных, принимающих значения из заданного промежутка

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

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

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

Формат определения переменной:

Имя_переменной := начальное_значение,начальное_значение + шаг .. конечное_значение

Заметим, что при наборе знак «:=» проявляется после набора «:» , а знак «..» проявляется после набора «;».

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

Кроме этого MathCAD предоставляет возможность не задавать следующее значение, если шаг по величине совпадает со значением 1 или –1.

В этом случае формат определения переменной можно представить в виде:

Имя_переменной := начальное_значение .. конечное_значение

Пример 3. Требуется определить переменную р, принимающую значения на интервале [0, 1] с шагом 0,1.

Решение. На рис. 5.8 представлены два фрагмента с решением поставленной задачи. На рис. 5.8, а представлено решение в соответствии с форматом, принятым для определения заданной переменной. А на рис. 5.8, b – такое же определение, но с введением вспомогательных переменных для обозначения и задания границ интервала, и величины шага, необходимых для определения переменной.

Рис. 1.8. Определение переменной, принимающей значения на интервале

Пример 4. Требуется получить таблицу значений функции на интервале [a, b] с шагом h.

Решение. Решение задачи можно свести к выполнению следующих шагов:

Определить функцию .

Задать переменную (например, t), принимающую значения из промежутка [a, b] с шагом h.

Получить таблицу значений функции для переменной t.

На рис. 5.9 представлен фрагмент документа с решением задачи 4.

Рис. 1.9. Получение таблицы значений функции на заданном интервале с постоянным шагом

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

Все основные типы графиков и инструменты работы с ними расположены на рабочей панели Graph (График) семействаMath (Математические). На этой панели вы можете найти ссылки на семь типов графиков. В данном разделе остановимся на декартовой системе координат.

В MathCAD существует несколько способов построения графиков, однако, первый шаг для всех способов будет один и тот же. Этим первым шагом является введение специальной заготовки для будущего графика – так называемой графической области. Ввести графическую область, как для декартового, так и для любого другого графика можно либо с панели Graph (Графические), либо командой одноименного подменю меню Insert (Вставка).

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

Рис. 1.10. Графическая область в декартовой системе координат

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

Для построения графика функции по быстрому методу, необходимо выполнить следующую последовательность действий:

Введите графическую область.

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

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

На рис. 1.10, b показан график функции y=sin(t), построенный по быстрому методу.

К недостаткам рассматриваемого метода относится, прежде всего, то, что область изменения переменной для всех функций определяется одна и та же: от –10 до +10. В большинстве же случаев такие пределы будут неприемлемы по целому ряду причин. Например, если амплитуда экстремумов мала по сравнению с изменением величины функции на промежутке, что они становятся просто незаметными.

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

Рис. 1.11. Графическая область в декартовой системе координат

Непосредственно под крайними значениями (для оси X) или слева от них (для оси Y) появятся цифры, отражающие максимальные и минимальные величины координат узловых точек графика. Чтобы изменить их значения, просто удалите (точно так же, как при редактировании формул) старые величины и введите новые. Изменения пределов по осиX вызывает автоматический пересчет крайних значений по Y. Однако если вы переопределите область по оси Y, то область изменения переменной останется старой.

Графическую область можно отформатировать – изменить внешний вид и цветовую гамму. Для этого можно воспользоваться командой Properties (Свойства) из контекстного меню графика (вызывается щелчком правой кнопкой мыши на графической области), как это показано на рис. 1.11, b.

В окне Properties (Свойства) для подавляющего большинства пользователей объективно могут быть полезны два параметра, расположенных на вкладке Display (см. рис. 1.11, b):

Highlight Region (Цветная область). Установив этот флажок, вы сможете на палитре Choose Color (Выбор цвета) определить наиболее подходящий цвет заливки для вашей графической области.

Show Border (Показать границу). Параметр отвечает за отображение внешней границы графической области. По умолчанию она не визуализируется.

При исследовании функции большое применение находит команда Trace (След) из контекстного меню графика. Эта команда позволяет считать с графика текущее значение аргумента и соответствующего ему значение функции. В результате выполнения этой команды открывается окно «XY Trace», как это показано на рис. 1.12. Чтобы активизировать трассировку, нужно мышью щелкнуть по графику. В результате на графике появляются две линии – вертикальная и горизонтальная, которые легко с помощью мыши перемещаются по графической области, а координаты точки пересечения линий отражается в окне трассировки.

Графики функций в MathСad

Очень просто построить график для этой функции, используя вычисление значения y для разных значений х. Для этой задачи в Mathcad используются переменные диапазоны.

Переменные диапазоны

Переменные диапазоны имеют большое количество значений. Определение двух двух таких диапазонов вы можете видеть на картинке ниже.

Первая переменная приобретает значения от 0 до 3 при шаге 1. Вторая переменная имеет для первой позиции значение 3, для второй 6 и имеет границу 13. Первая переменная-диапазон задается как математическая область с использованием оператора [..].

Для того, чтобы ввести такое выражение, нужно на клавиатуре набрать [i:0..3]. Для определения второй переменной, нужно выполнить два шага.

1. Наберите на клавиатуре [j:3,], после запятой появится место для заполнения.

2. Наберите второе значение и верхнюю границу.

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

Использование параметров также доступно в переменной-диапазоне. Дальнейший пример показывает, как параметр может изменить длину переменной-диапазона.

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

При использовании переменной-диапазона как индекса массива, необходимо иметь ввиду, что все элементы переменной должны быть либо натуральными числами, либо нулем.

Нельзя переменную-диапазон получить по индексу. Если вы попробуете это совершить, то появится ошибка «Значение должно быть вектором»:

Что такое «вектор» в программе, мы обговорим в следующих уроках.

Наша функция

Мы найдем значение нашей функции для шести значений переменной-диапазона:

В ряду от 0 до 5 есть шесть значений. Присвоим переменной х эти значения с помощью подстрочного индекса.

Можно проверить значения индексов при помощи выражений:

Теперь может проверить значения функции

Для проверки всех значений нужно ввести [x=] и [y=].

Первый график

Теперь, когда мы знаем значения для x и y, то мы можем отобразить их на графике. Для этого зайдите во вкладку Графики -> Вставить график -> График XY.

Вы увидите, что в месте, которое вы обозначили, появятся оси и место для заполнения значения. Введите значение у.

Перейдите к месту для заполнения внизу и введите значение х. После чего нажмите [Enter]. Вы увидите график.

Элементы графика

Элементы графика отмечены на схеме внизу. Это:

  • Оси Х и Y
  • Легенды для осей
  • Фон графика
  • Линия графика
  • Метки на осях
  • Значения на метках.

Изменить размеры области, где помещен график можно так же, как и размер другой области. Чтобы выбрать график, нужно щелкнуть на нем мышкой с нажатой при этом клавишей [Ctrl]. Если вы подведете мышку к правому нижнему углу, то курсор изменится на двойную стрелку. Вы можете зажать мышку и потянуть для изменения размеров. Также вы можете перемещать оси графика. Наведите мышь на любую из осей и потяните в нужную сторону. Для изменения цветового фона графика нужно выбрать его во вкладке График -> Фон графика. Тип фона выберите прозрачным.

Так как мы брали для расчетов только несколько точек, то график вышел ломаным. В этом случае может иметь смысл вывод одних лишь точек. Для этого нужно в вкладке Графики -> Стили -> Символ выбрать символ круга. На линии отобразятся точки.

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

Сейчас посмотрите на метки и обозначения, которые есть возле них. Проведи медленно мышкой по этим меткам вдоль оси Y. Значения первой, второй и последней метки будут изменять размер в сторону больше, когда вы наведете на них. Первое и последнее из этих значений обозначают границы вывода графика. Изменяя второе значение, вы можете менять чисто меток на оси. Попробуйте изменить значение на второй метке на оси Y на 5, а на оси Х на 1.

Теперь выделите график нажатие мыши и во вкладке График -> Оси и выберите Выражение оси. Легенда будет исчезать, если вы нажмете в любую область вне графика и появляться снова, когда вы будете выбирать график. На нижеприведенном рисунке легенду заменяют две математические области с y и х.

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

Быстрое построение графика

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

Вводим функцию, график которой нам нужно построить.

Вставим далее график XY. Введите в первый заполнитель [y(x)], а во второй [x]. Теперь нажмите в любое место за пределами графика. Диапазон х поставьте в диапазоне от -10 до 10. Значения y примутся автоматически.

Резюме
  1. Переменная-диапазон — это комплекс значения. Переменные-диапазоны, которые используются в качестве индексов массива, должны иметь значения натуральных чисел или нуля.
  2. Все переменные-диапазоны должны иметь значение, шаг и верхнюю границу.
  3. Переменные-диапазоны с шагом 1 нужно вводить в порядке: имя переменной, оператор присваивания, начальное значение, две точки, верхняя границы, которая является последним значением).
  4. Если нужно ввести диапазон в другим шагом, отличным от 1, то сначала вводится два первых значения через запятую, а потом верхняя граница после двух точек.

График набора точек:

  1. Выберите количество точек, которые должны отобразиться на графике.
  2. Создайте переменную-диапазон, где укажите значения от нудя до нужной границы.
  3. Выполните определение для значения x. Для этого используйте имя переменной-диапазона в качестве подстрочного индекса.
  4. Проведите вычисление значений функции.
  5. Для вставки графика зайдите в Графики -> Вставить график -> График XY.
  6. Задайте имена переменных (в нашем примере x и y) в местозаполнителях.
  7. Нажмите в любое место вне области графика для его построения.

Для того, чтобы быстро построить график функции y(x) нужно:

MathCAD — это просто! Часть 3. Уравнения Продолжение

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

Одним из удобных и наглядных способов решения уравнений является графический. Графическим он называется потому, что при использовании такого способа решение уравнения f(x) = 0 представляется в виде графика функции f(x), пересечения которого с осью абсцисс (X) и будут решениями начального уравнения. Конечно, особенно точным такой способ решения назвать сложно, но он может пригодиться для задания начального приближения, необходимого для полноценной работы функции root, которая поможет найти корни более точно. Для начала рассмотрим простенькое квадратное уравнение 2×2 — 7x — 17 = 0. Левую часть уравнения нужно записать в виде функции, т.е. нужно сделать запись f(x) := 2×2 — 7x — 17. Напомню, что оператор присваивания (:=) записывается с клавиатуры при помощи простого двоеточия, т.е. для латинской раскладки клавиатуры это будет Shift+;, а для русской — Shift+6. Далее нужно задать диапазон построения графика. Для этого для переменной x записываем x := -10..10. Здесь нужно использовать специальный разделитель, применяемый в MathCAD’е для записи интервалов — обычное написание двух символов «.» подряд не поможет. Это разделитель можно найти на панели матричных вычислений (кнопка «m..n») или записать с помощью нажатия на клавиатуре точки с запятой. Итак, все нужное для построения графика мы с вами подготовили. Теперь дело за малым — добавить на рабочее поле собственно график. Для этого на панели «Graph» выберите «X-Y Plot» (самая первая из всех кнопок на панели), и тогда у вас на экране появится область построения графика. Для того, чтобы график в ней построился, нужно в центре под осью абсцисс написать имя нашей переменной (в данном случае им будет, конечно же, x), а по центру рядом с осью ординат — имя нашей функции (то есть f(x)).

Что ж, график у нас теперь есть. Как же определить, какая именно точка соответствует решению нашего уравнения? С этим поможет трассировка. Щелкните по получившемуся графику правой кнопкой мыши и выберите Trace. У вас на графике появится этакий «прицел», который можно будет передвигать мышкой, и окно, в котором будут отображаться координаты точки, находящейся в середине прицела (см. скриншоты). Прицел этот можно, кстати, двигать и при помощи клавиатурных стрелочек, но все равно в любом случае передвигаться он будет исключительно и только вдоль кривой, отображающей ход нашей функции, нули которой мы и ищем. Думаю, основную идею вы уже уловили: передвигая крестик-«прицел» вдоль кривой, можно в окне трассировки увидеть точку, Y-координата которой будет равна нулю.

Здесь, правда, может возникнуть небольшая проблема. В нашем уравнении, например, корень получился не целым, а трассировать функцию по X мы можем только с шагом, равным единице. Конечно, для того, чтобы локализовать корень для последующего применения функции root, в нашем случае достаточно и такой точности: достаточно найти интервал, на котором функция будет менять свой знак (то есть ее значение будет меняться с положительного на отрицательное или, напротив, с отрицательного на положительное). Но для других уравнений может случиться такое, что на единичном интервале может лежать и несколько решений — действительно, почему бы и нет, ведь даже для квадратных уравнений несложно придумать случай, когда такое может случиться. Какой из этого может быть выход? Самый простой и очевидный — уменьшить шаг трассировки по оси X, чтобы можно было более точно искать нулевые точки по оси Y. Сделать это в MathCAD очень просто. Помните, как мы задавали диапазон для нашей переменной x? Давайте кое-что поменяем и запишем его следующим образом: x := -10,-9.9..10. Теперь уже шаг трассировки у нас будет не единица, а одна десятая (0,1). Для того, чтобы уменьшить его еще в десять раз, нужно записать x := -10,-9.99..10. Общий принцип здесь вполне очевиден: мы записываем следующую точку диапазона следом за первой и, таким образом, указываем шаг, с которым MathCAD будет строить (а в итоге — и трассировать) наш график. Для более наглядного отображения данных имеет смысл добавить на график координатную сетку. Сделать это можно, если кликнуть по графику дважды, а затем в появившемся окне (см. скриншот) установить флажки напротив пунктов Grid Lines в категориях X Axis и Y Axis. Первый флажок устанавливает координатные линии для оси X, а второй, соответственно, для оси Y. Единственное, что также рекомендую — так это сразу поменять и цвет линий координатной сетки, кликнув по квадратикам рядом с этими пунктами — по умолчанию он задан кислотно-зеленым, что не очень удобно для глаз. Хотя это уже, конечно, дело вкуса.

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

Контроль точности решения уравнений с помощью функции root

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

Дело в том, что методы, применяемые MathCAD’ом при численном решении уравнений, являются итерационными. Что это значит? Это значит, что все эти методы используют для получения значения x цикл, в котором каждое следующее значение решения вычисляется по предыдущему, но с большей точностью. Циклы бывают разными, как и начальные значения переменной x, и в теории численных методов выводятся формулы, показывающие, при каких условиях возможно получение приближенного решения — а ведь даже это возможно далеко не всегда. Когда цикл имеет нормальный ход, то есть с каждой последующей итерацией (выполнением вычислений в рамках одного шага цикла) значение приближенного решения получается более точным, то есть более близким к реальному решению, чем на предыдущей итерации, говорят, что итерации сходятся (иногда добавляют, что они сходятся к точному значению решения). Для того, чтобы определять, когда же значение, получаемое в результате итерационных вычислений, нас наконец-то устроит, и используется переменная TOL. Для простоты восприятия можно сказать, что, когда разница между текущим и предыдущим значением переменной в рамках цикла становится меньше, чем TOL, то ее дальнейшее вычисление (то есть и сам цикл) прекращаются. Таким вот нехитрым образом TOL и служит для контроля точности вычислений. Впрочем, это совсем не гарантирует, что точка, вычисленная таким образом, будет лежать близко к реальному корню — вполне может оказаться и так, что указанная разность вычисленных значений будет меньше, чем TOL, и довольно далеко от точки, являющейся реальным решением заданного уравнения. Но с этим, к сожалению, ничего поделать нельзя — алгоритм, вложенный создателями MathCAD’а в свой продукт, на самом деле не так уж и плох, если правильно подбирать начальное приближение и TOL. Для этого рекомендуется перед началом непосредственных вычислений значений корня уравнения f(x) = 0 строить график его левой части (так, как мы это делали выше), а после получения собственно значения — проверять его с помощью подстановки в исходное уравнение.

Изменять переменную TOL можно выбрав в главном меню MathCAD’а пункт Tools, далее выбрав Worksheet Options, а потом — вкладку Built-in Variables (см. соответствующий скриншот). Там вы без труда найдете надпись «Convergence Tolerance (TOL)» и соответствующее значение, равное по умолчанию 0,001, или 10-3. Поменять значение TOL можно прямо в документе, записав, например: TOL := 0,0001. Нужно только помнить, что тогда менять TOL нужно до вызова функции root. Ну и, конечно, не стоит сильно увлекаться уменьшением TOL, потому что в ряде случаев это может затруднить процесс поиска решения и привести к тому, что оно вообще не будет найдено. Кроме того, надо отметить, что чем меньше TOL, тем больше времени потребуется MathCAD’у на вычисление решения. Делать TOL в случае использования root меньше, чем 10-13, обычно и вовсе не имеет смысла, потому что погрешности расчета функций exp, sin, log и других (это все трансцендентные функции) находятся примерно на этом уровне, и более точное значение получить будет попросту технически невозможно. Вообще же теоретически предельным для TOL является значение 10-16, но добиться такой точности, как правило, реально невозможно. Да и редко когда нужно, к счастью.

SF, spaceflyer@tut.by

Компьютерная газета. Статья была опубликована в номере 15 за 2008 год в рубрике soft

Как задать интервал в маткаде

Пуристы - это. Значение словаВам будет интересно: Пуристы — это. Значение слова

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

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