MathCAD — это просто! Часть 7. Графики поверхностей и графики кривых в пространстве
Как говорится, снова здравствуйте. Как вы уже неоднократно имели возможность убедиться, MathCAD — чрезвычайно мощный математический пакет, который позволяет пользователю решать огромное число самых что ни на есть разнообразных задач, с которыми тот только может столкнуться. Однако стоит отметить, что за все нужно платить, а потому многие задачи решаются довольно громоздко — хотя, впрочем, это проблемы не столько MathCAD’а, сколько математического аппарата, который эта программа реализует. Построение трехмерных графиков поверхностей, с которым мы с вами знакомились в предыдущей статье цикла, оказалось не такой уж и сложной задачей — большую часть статьи я, если помните, рассказывал о том, как эти графики можно потом раскрасить, чтобы они максимально удачно смотрелись в отчете, реферате или презентации. Однако сегодня мы с вами займемся более серьезным делом, чем раскрашивание трехмерных графиков — хотя с графиками, и именно трехмерными, все равно продолжим работать. Чем же мы будем заниматься? Думаю, вы сможете сами ответить на этот вопрос, если продолжите чтение данной статьи.
Когда график врет, и что следует делать в таких случаях?
Естественно, любой, даже самый точный, график — всего лишь приближенная визуализация некоторой математической функции. Математики даже часто, чтобы это подчеркнуть, говорят не о построении графиков, а об их схематическом изображении. Но, как правило, даже довольно грубого метода построения трехмерных графиков вполне хватает для того, чтобы получить представление о поведении функции в тех или иных областях пространства. На самом деле проблемы, возникающие при построении графиков в MathCAD’е, куда более серьезны и связаны с разрывами функций. Во-первых, MathCAD часто вовсе не захочет строить график тех функций, для которых он найдет неустранимые разрывы в области построения графика. К примеру, попробуйте построить график z = 1/x + 1/y на стандартном для трехмерных графиков интервале от -5 до +5 и посмотрите, что получится. Естественно, вдоль прямых x = 0 и y = 0 график будет уходить в бесконечность. Заранее хочу предупредить, что ничего хорошего получиться не может: неустранимый разрыв на то и неустранимый, что поделать с ним ничего, собственно говоря, попросту невозможно. Поэтому здесь придется как-то изловчаться: искать точку разрыва и строить графики отдельно для областей справа и слева от нее. Если точек разрыва много (например, для периодических функций в знаменателе), то это может оказаться довольно-таки утомительно, но на самом деле какого-либо общего и простого метода решения данной проблемы просто не существует.
Однако на этом напасти с графиками (а точнее, с отображением точек разрыва на них) далеко не заканчиваются — напротив, я бы даже сказал, все только-только начинается. Бывает, что MathCAD вполне успешно (на его собственный взгляд) справляется с такими нехорошими вещами, как разрывы функций. Делает он это, правда, в довольно-таки специфической форме: разрывы эти попросту игнорируются, и их существование на графике никаким образом не отображается. Примером этому может служить построение такого несколько экзотического графика, как z = x*y/cos(x*y). Вполне естественно предположить, что в тех точках, где знаменатель равен нулю (т. е. x*y = pi/2), график будет устремляться к бесконечности. На практике же MathCAD, что называется, «не плюется» на эту функцию, а спокойно строит нечто, что якобы является ее графиком.
Почему такое происходит? В общем-то, секретов нет — нужно только представлять себе, как именно строятся графики в MathCAD’е. Дело в том, что графики MathCAD строит дискретно, вычисляя значения функции в определенных точках, а после соединяя их прямыми. Естественно, чем меньше шаг дискретизации (т.е. расстояние между соседними вычисляемыми значениями функции), тем больше вероятность того, что при построении графика MathCAD столкнется с точкой разрыва — тогда мы получим именно тот самый случай, когда программа откажется напрочь строить такой график. Но бывает и другой случай — как раз такой, который мы сейчас вот здесь с вами рассматривали вторым. Тогда MathCAD просто пропускает точку разрыва, сглаживая ее прямыми — т.е. эта точка попадает между опорными точками, по которым программа строит график нашей поверхности. К сожалению, второй случай проблемы с точками разрыва на практике ничуть не лучше первого (хотя первоначально может показаться, что с ним довольно легко справиться). Если мы уменьшим шаг, с которым MathCAD строит опорные точки графика, то получится как раз первый случай: алгоритм построения графика успешно угодит на точку разрыва и начнет паниковать, подозревая нас в желании заставить его поделить что-нибудь на ноль. Так что, как видите, построение трехмерных графиков — задача, требующая часто творческого подхода к ее решению.
Волшебная функция CreateMesh
Мы с вами уже умеем строить графики поверхностей в трехмерном пространстве, что называется, в лоб. То есть если имеется явная функциональная зависимость координаты z (аппликаты) от x (абсциссы) и y (ординаты). Однако, к сожалению, природа по неведомым ей соображениям не пожелала ограничиться только такими зависимостями — значит, и нам с вами, может так случиться, придется строить график поверхности, заданной не какой-то функцией, а уравнением. К счастью, разработчики MathCAD предусмотрели такую возможность и предложили пользователям функцию, которая будет весьма и весьма полезна при построении подобных пространственных графиков. О ней мы с вами сейчас, конечно же, и поговорим.
Использование функции CreateMesh предполагает параметризацию той поверхности, которую вы хотите визуализировать с использованием MathCAD’а. Поскольку о параметризации я, помнится, не так уж давно рассказывал, думаю, лишний раз подробно останавливаться на том, в чем заключается суть этого процесса, не буду — лучше сразу перейдем к практике использования этой чрезвычайно полезной практически для каждого пользователя функции. Итак, во-первых, нужно задать три функции, описывающие зависимость каждой из координат (x, y, z) от двух параметров. Да, это строгое ограничение: параметров должно быть именно два — с другим числом параметров MathCAD работать не умеет. Правда, стоит отметить, что для построения подавляющего большинства широко распространенных поверхностей этого вполне хватит. Для определенности положим, что параметры у нас будут a и b. После того, как функциональная зависимость задана, функции x(a,b), y(a,b) и z(a,b) нужно сгруппировать в вектор-столбец. Напомню, что для этого нужно создать с помощью кнопки Matrix or Vector, расположенной на панели инструментов Matrix, матрицу размером 3 на 1, в элементы которой и вписать указанные функции. Далее добавляем на рабочую область MathCAD поле трехмерного графика, внизу которого пишем следующее (без кавычек): «CreateMesh(f, 0, 10, 0, 10, 50, 50)». Результаты построение одной из возможных параметрических поверхностей вы можете увидеть на рисунке.
Давайте теперь разберемся с параметрами, которые указаны для функции CreateMesh. Каждый из них, как вы наверняка догадываетесь, несет в себе глубокий смысл, а потому менять их местами не представляется возможным. Первым стоит имя нашего вектора с функциями. В принципе, запись, которую вы видите на иллюстрации, можно было бы даже несколько упростить, если бы записать в вектор не x(a,b), y(a,b) и z(a,b), а их непосредственные выражения. Однако я написал все именно в таком виде, чтобы вам было легче понять, что именно где в этом векторе стоит. После имени вектора идут соответственно минимальное и максимальное значения для первого и второго параметров. Здесь у нас границы и для a, и для b принимают, в общем-то, одни и те же значения, но на практике это может быть совершенно не так. Далее идут два параметра, указывающие MathCAD, на сколько шагов разбить указанный диапазон для построения точек, по которым уже будет чертиться собственно график. Все параметры, кроме имени вектора, описывающего поверхность, являются необязательными. И, вообще говоря, есть еще один параметр, который в данном примере опущен — он используется для работы с системами координат, и о нем, я так думаю, мы лучше поговорим как-нибудь в другой раз. Для того, чтобы показать всю простоту и мощь применения CreateMesh, приведу еще один пример, а именно построение с помощью данной функции сферы. Для этого нужно задать следующие уравнения в описанном выше примере: x(a,b) := sin(a)*cos(b); y(a,b) := sin(a)*sin(b); z(a,b) := cos(a). Кроме того, нужно поменять также и диапазоны, в которых будут изменяться a и b: первый параметр будет меняться от нуля до двух пи, второй — от нуля до пи. Результат построения сферы вы также можете увидеть на соответствующем рисунке.
Функция CreateSpace
Несмотря на все достоинства функции CreateMesh, она не позволяет строить в пространстве отдельных линий, что не есть хорошо. Поэтому для полноты нашего сегодняшнего разговора о разных полезных при построении трехмерных графиков функциях будет неплохо также рассмотреть и такую вещь, как CreateSpace. Фактически эту функцию можно считать аналогом CreateMesh с той лишь разницей (впрочем, оказывающейся довольно существенной), что эту функцию можно использовать для построения кривых в пространстве. Формат записи данных для CreateSpace несколько отличается от аналогичного для CreateMesh. Во-первых, параметр у кривой должен быть только один. Отсюда пляшет и количество параметров у самой функции. Для того, чтобы получить график кривой, а не поверхности, нужно включить в свойствах графика тип Scatter Plot или Data Points; также для удобства просмотра получившихся результатов желательно включить отрисовку не только точек, но и целых линий.
Справедливости ради стоит сказать, что CreateSpace позволяет создавать не только графики кривых, но и графики поверхностей — полагаю, вы уже уловили, что основное отличие этой функции от CreateMesh заключается в том, что она позволяет использовать не два параметра для параметризации поверхности, а только один. Хотя о трехмерных графиках в MathCAD’е мы поговорили уже немало, по-настоящему этот разговор еще только, можно сказать, начинается. Так что готовьте ваши компьютеры к новым интересным вещам, с которыми я вас познакомлю в серии статей «MathCAD — это просто». Ведь действительно же просто, правда?
SF, spaceflyer@tut.by
Компьютерная газета. Статья была опубликована в номере 19 за 2008 год в рубрике soft
Особенности построения графических образов в MathCAD Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Забеглов Александр Валерьевич
В статье рассмотрены особенности построения графических образов в среде MathCAD . Отмечен ряд проблем, с которыми может столкнуться пользователь и пути их разрешения.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Забеглов Александр Валерьевич
Об одном внутреннем ассоциативном продолжении частичного мультипликативного матричного группоида
Формулы Крамера для систем линейных уравнений и неравенств над булевой алгеброй
О конгруэнциях частичных арных группоидов
Минимальная непродолжаемая частичная полугруппа
Автоморфизмы некоторых магм порядка k + k2
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Текст научной работы на тему «Особенности построения графических образов в MathCAD»
Раздел I. Алгебра и геометрия
УДК 514.75/.77 ББК 22.151
ОСОБЕННОСТИ ПОСТРОЕНИЯ ГРАФИЧЕСКИХ ОБРАЗОВ В MATHCAD
Аннотация. В статье рассмотрены особенности построения графических образов в среде MathCAD. Отмечен ряд проблем, с которыми может столкнуться пользователь и пути их разрешения.
Ключевые слова: MathCAD, графики, неявные функции, метод Драгилева, точки разрыва.
PECULIARITIES OF CONSTRUCTION OF GRAPHIC IMAGES IN MATHCAD
Abstract. The article considers peculiarities of graphic images construction in the MathCAD program. There is description of problems a user can face, and ways of their salvation.
Key words: MathCAD, graphics, implicit functions, Dragilev method, breaking point.
В настоящее время широкое распространение получили пакеты математических программ (или математические системы), которые можно использовать для различных вычислений и построения графиков (Mathematica, Maple, Statistica, MathCAD, MathLAB и др.). В этих системах процесс вычислений автоматизирован, что позволяет экономить время и больше внимания уделять физическому смыслу получаемого результата. Выбор системы зависит от характера решаемых задач, от вкуса и практики. В данной статье речь пойдет о системе MathCAD — разработке фирмы MathSoft.
MathCAD — является достаточно мощным математическим пакетом, который позволяет пользователю решать огромное число самых разнообразных задач, с которыми тот может столкнуться. Одной из таких задач является графическое представление различных объектов, таких как кривые, поверхности, массивы данных и т. д. Эта задача имеет ряд особенностей на которые и хотелось бы обратить внимание.
Первой особенностью является то, что в среде MathCAD нет графиков в математическом понимании этого термина. Визуальное представление графических образов происходит как отображение данных по точкам с интерполяцией. В этой связи механизм визуализации MathCAD значительно уступает таковому у Maple, где достаточно иметь только вид функции, чтобы построить график или поверхность любого уровня сложности. Данная особенность порождает ряд проблем, одной из которых является построение кривых и поверхностей, содержащих точки разрыва. В данном случае MathCAD может либо вообще не построить график (рис. 1), либо, если точка разрыва попадает между опорными точками, пропустить точку разрыва, сгладив ее (рис 2).
sin(x) sin(y) » cos(x) cos(y)
При построении графика функция представляется в виде набора точек и для построения графика перебирается определенное количество значений аргумента, для каждого из них вычисляется значение функции. При упрощенном способе построения, когда диапазон аргумента задается автоматически, по осям выбирается диапазон [-5, 5], а количество линий равно 20. Для того чтобы иметь возможность при построении графика управлять количеством точек, аргумент надо задавать
как ранжированную переменную [2]. Зачастую приходится находить точки разрыва и строить график отдельно для каждых областей, что достаточно трудоемко для периодичных функций в знаменателе. Однако общего и простого решения данной проблемы не существует (рис 3).
а := 1 к := .0 п := 0 иО := л-к—ul := л-к н—vO := л-п—vl := л-n н—
C2:= CreateMesh (H,uO, и l,vO,vl)
C3 := CreateMesh(H,uO,иl,vO,vl) к := -1 n := -1
C4:= CreateMesh (H,uO, и l,vO,vl) к :=-ln := 1
Второй особенностью системы является то, что в MathCAD невозможно встроенными средствами построить графики кривых и поверхностей заданных неявно. Это препятствие для кривых F (x, y)=0 можно обойти. Для этого строится поверхность с уравнением z=F (x, y), и форматируется с целью увеличения максимальной «разрешимости» графика (# of Grigs: 200) по обеим осям (QuickPlotData) и диапазона значений оси (Axes/Z-Axis). Измение типа графика с поверхности (Surface Plot) на контурный график (Contour Plot) дает возможность получить график искомой кривой в виде контурной линии [1] (рис. 4).
С графиками поверхностей F (x, y, z)=0 дело обстоит несколько сложнее. На сегодняшний день известны результаты по успешному построению в MathCAD неявных поверхностей методом Драгилева, который основан на возможности замены исходного уравнения дифференциальным уравнением и какой-нибудь точкой, удовлетворяющей исходному неявному уравнению. Этот приём позволяет принципиально сократить время расчёта поверхностей и расширить возможности построения. Еще одной возможностью построения неявных поверхностей послужила программная реализация метода «марширующих кубов», названная implicitplot3d [4].
Один из многочисленных примеров поверхностей построенных при помощи этой функции приведен на рис. 5 [4].
2 3 4 i~24 (х ,У := х Н- у + z — 1
xrnin := —4 ymin := —4 zmm. := —3 (nx ny nz) := (31 31 31 )
xmax := 4 ymax :— 1 zmax := 3
grids := (nx ny nz)
( ( 1 ^ num2str ceil — colsi’ i =
1. Гурский, Д. MаthCAD для студентов и школьников. Популярный самоучитель / Д. Гурский, Е. Турбина. — СПб.: Питер, 2005. — 400 с.
2. Дьяконов, В. П. Mathcad 2001. Учебный курс / В. П. Дьяконов. — СПб.: Питер. — 2001. — 624 с.
3. Компьютерная геометрия: учеб. пособие / Н. Н. Голованов и др. — М.: Академия, 2006. — 512 с.
4. Режим доступа: http//:www.exponenta.m.
УДК 512.5 ББК 22
ОБ ОДНОМ ВНУТРЕННЕМ АССОЦИАТИВНОМ ПРОДОЛЖЕНИИ
ЧАСТИЧНОГО МУЛЬТИПЛИКАТИВНОГО МАТРИЧНОГО ГРУППОИДА
Аннотация. В работах известного отечественного математика Е. С. Ляпина одним из центральных является вопрос о существовании ассоциативных продолжений частичных матричных группоидов. В настоящей работе установлена возможность внутреннего ассоциативного продолжения частичного мультипликативного матричного группоида.
Ключевые слова: умножение матриц, полугруппа, продолжение.
ABOUT ONE INTERNAL ASSOCIATIVE EXTENSIONS OF PARTIAL MULTIPLICATE MATRICES GROUPOID
Absrtact. In works of known domestic mathematician E. S. Ljapina on the theory partial of groupoids one of central is the question on existence of associative extensions partial of groupoids. In the present work the possibility of internal associative extension of partial matrices groupoid is established.
Key words: multiplication of matrices, semigroup, extension.
1°. Пусть (S;) — произвольный частичный группоид [1]. В соответствии с [1] полугруппа (5;*) называется внутренним полугрупповым продолжением частичного группоида (S;), если
(Vx, у е S) (если х. у # 0, то х.у = х * v).
Лекція №8 — Использование пакета MathCad при исследовании математических функций одной переменной
Исследование функции является одним из важнейших приложений теории пределов, непрерывности функции и производных. Полная схема исследования функции и построения ее графика объединяет в себе три этапа:
- Элементарное исследование.
- Исследование графика функции с помощью первой производной.
- Исследование графика функции с помощью второй производной.
При этом на каждом из этапов решаются частные задачи, которые позволяют в целом получить свойства функции и оценить ее поведение в различных областях ее определения:
- Элементарное исследование.
- Найти область определения функции.
- Исследовать функцию на симметричность, периодичность, четность и нечетность.
- Вычислить предельные значения функции в ее граничных точках.
- Выяснить существование асимптот и получить их уравнения в том случае, если они есть.
- Определить, если это не вызовет особых затруднений, точки пересечения графика функции с координатными осями.
- Сделать эскиз графика функции, используя полученные результаты.
- Исследование графика функции с помощью первой производной:
- Найти точки, подозрительные на экстремум из решения уравнений
и
. - Точки, «подозрительные» на экстремум, исследовать с помощью достаточного условия существования экстремума, определить вид экстремума.
- Вычислить значения функции в точках экстремума.
- Найти интервалы монотонности функции.
- Нанести на эскиз графика экстремальные точки.
- Уточнить вид графика функции согласно полученным результатам.
- Исследование графика функции с помощью второй производной.
- Найти точки, «подозрительные» на точки перегиба из решения уравнений: y”(х)=0 и y”(х)=.
- Точки, «подозрительные» на перегиб, исследовать с помощью достаточного условия.
- Вычислить значения функции в точках перегиба.
- Найти интервалы выпуклости и вогнутости графика функции.
- Нанести на эскиз графика точки перегиба.
- Окончательно построить график функции.
Если исследование проведено без ошибок, то результаты всех этапов должны согласовываться друг с другом. Если же согласование отсутствует, необходимо проверить правильность результатов отдельных этапов и исправить найденные ошибки.
Очевидно, что проведение полного анализа – очень трудоемкая задача. А решение некоторых вопросов, например, проверка функции на периодичность, требует знаний из областей математики, не входящих в учебную программу. Тем не менее, пакет MathCAD может оказать большую помощь при исследовании функций, особенно в тех случаях, где требуется решение уравнений и неравенств. А технология построения графиков функций, используемая системой MathCAD, позволяет проверять найденные решения практически на любом из этапов исследования.
2.1. Решение уравнений
Многие задачи, с которыми приходилось сталкиваться в школьном курсе математики, задавались и решались в символьном виде. Тем или иным образом преобразовывались и упрощались выражения, использовались определенные стандартные формулы и методы, умножались, делились, сокращались – и в результате выражения приводились к какому-то несложному аналитическому результату. Так, например, при решении квадратного уравнения использовались формулы Виета. Пытаясь аналитически найти корни кубического уравнения, исходные выражения разлагались на линейные множители (или, в крайнем случае, использовали формулу Кардано). Для бикубических уравнений заменялся квадрат искомой переменной на новую переменную и в результате получалось квадратной уравнение.
Решение задач в аналитическом виде имеет массу преимуществ перед решением численным способом. Во-первых, в этом случае ответ может быть вычислен без какой-либо погрешности. Во-вторых, при получении результата в виде аналитического выражения имеются куда более широкие возможности его последующего использования (например, в качестве формулы). В-третьих, числовой результат, полученный при вычислении выражения, представленного в символьном виде, куда более нам понятен, чем десятичная дробь, получаемая при использовании численных методов. Увы, но аналитическим решением обладает очень ограниченное количество задач.
Уравнение в первоначальном понимании – это равенство двух функций
, рассматриваемых в общей области их определения. При желании это равенство можно записать в виде
, где
.
Такой вид называют стандартным.
Решить уравнение – это значит, найти точки, в которых функция f(x) принимает нулевые значения.
В MathCAD реализовано три принципиально отличающихся друг от друга подхода к решению уравнений: применение численных алгоритмов, использование символьных преобразований и графический метод.
Чтобы найти корни уравнения в виде выражения, требуется выразить одну переменную через все остальные (или коэффициенты). Сделать же это обычно можно только в том случае, если уравнение включает переменные невысокой степени и не содержит разнородных функций. Такие уравнения специально подбираются в учебниках, и их можно более или менее просто решить на бумаге.
Но на практике часто существует необходимость находить корни таких уравнений, пытаться решать которые с помощью традиционных приемов символьной алгебры совершенно бесперспективно. Численно же можно решить практически любое уравнение. Однако, как отмечалось выше, получаемое при использовании численного метода значение корня в виде числа с плавающей точкой куда менее информативно, чем выражение аналитического решения. Опыт показывает, что простые уравнения лучше решать в символьном виде, более сложные — численно. Обычно численный метод используется, если MathCAD не сможет решить уравнение аналитически.
Имеются такие уравнения, которые нельзя решить ни аналитически (так как они слишком сложны), ни численно (чаще всего потому, что соответствующая функция не является непрерывной). В таких случаях решение ищут по графику, используя специальные инструменты панели Graph (Графические). Данный способ довольно трудоемок, однако он способен обеспечить точность, мало уступающую точности численных методов.

Для численного решения нелинейного уравнения можно использовать встроенную функциюroot и блок решенияGiven – find…. Остановимся на функции root, которая имеет вид, представленный на рис. 6.1.
где
– левая часть уравнения;х – имя переменной, относительно которой решается уравнение; a, b – левый и правый концы отрезка, на котором находится корень уравнения (наличие квадратных скобок в описании указывает на то, что эти параметры являются необязательными). Поиск корня уравнения осуществляется итерационным методом с заданной точностью (точность по умолчанию равна
). Переустановить значение точности можно с помощью задания нового значения системной переменнойTOL, которая отвечает за точность. Перед использованием встроенной функции rootнужно задать начальное значение переменной – искомого корня. Если уравнение имеет несколько корней, то целесообразно начальное значение выбирать исходя из отрезка, определяющего местоположение корня.

Рис. 2.1. Окно мастера функций, открытое для вызова функции root
Пример 1. Найти корень уравнения вида
в численном виде при начальном значении
и заданной точности
.
Решение. Процесс решения задачи можно свести к выполнению следующих шагов:
- Определить функцию для решения.
- Задать начальное значение корня.
- Переустановить точность – в данном случае не требуется, так как она соответствует точности, взятой «по умолчанию».
- Вызвать функцию root для решения.
Фрагмент с решением задачи в системе представлен ниже на листинге.

Для аналитического решения уравнений в системе MathCAD можно воспользоваться одним из двух способов:
- С помощью оператора solve, расположенного на панели Symbolic (Символьные).
- С помощью команды solve из подменю Symbolics→Variable.
В первом случае для нахождения корня уравнения, необходимо выполнить следующую последовательность действий:
- Введите оператор solve (решить) с помощью одноименной команды панели Symbolic (Символьные). В результате будет представлен шаблон вида:

В левом маркере задайте вид решаемого уравнения.

В качестве знака равенства следует использовать логическое равенство (Bold Equal – вводится сочетанием Ctrl> +=>).
Если уравнение приведено к стандартному виду, то достаточно будет в этот маркер вписать лишь его левую часть. При этом выражение будет приравнено к нулю автоматически. Также в левый маркер можно внести и имя функции – в этом случае будут найдены выражения, определяющие ее нули. Форма записи уравнения через функцию удобна в том случае, если оно имеет большую длину.
- В правый маркер внесите переменную, относительно которой должно быть решено уравнение, как это показано на рис. 6.2.
Ответ оператор solve возвращает в виде выражения (численного или буквенного), которое вполне можно использовать в дальнейших вычислениях. Если решений имеется несколько, то возвращается содержащий их вектор.
При символьном решении уравнений нет особой разницы, сколько переменных содержит уравнение. Ответ ищется в виде выражения, и поэтому для системы неважно, будет ли оно содержать буквенные или численные элементы. Исходя из этого, вы можете найти корни как уравнения нескольких переменных, так и уравнения с параметрами или буквенными коэффициентами.
Во втором случае, чтобы решить уравнение в символьном виде, нужно ввести уравнение (знак => следует брать с панели Boolean), выделить переменную, выбрать команду solve из подменю Symbolics→Variable, как это показано на рис. 6.3.




Рис. 2.2. Символьное решение уравнения с использованием панели инструментов Symbolic

Рис. 2.3. Символьное решение уравнения с использованием подменю Variable

Пример 2. Требуется найти корни уравнения вида в символьном виде. Следует иметь в виду, что при решении тригонометрических уравнений система находит только частное решение приn=0.
Решение. Процесс решения задачи можно свести к выполнению следующих шагов:
- Выполнить команду solve, расположенную на панели Symbolics (Символьные).
- Заполнить предоставленный шаблон.
- Проанализировать результат, предоставленный системой в виде, как это показано на рис. 6.4.

Рис. 2.4. Символьное решение уравнения с использованием команду solve
Как это видно из предоставленного системой решения, уравнение имеет три корня — один действительный и два комплексных. Ответ в аналитическом виде не всегда является удобным для анализа, поэтому пересчитываем его с помощью команды float, расположенной на панели Symbolics (Символьные), в десятичную дробь с точностью до 4 знаков:

.
В результате решение примет вид, как это показано на рис. 2.5.

Рис. 2.5. Символьное решение уравнения с использованием команд solve и float

Пример 3. Требуется найти корни уравнения вида в символьном виде.
Решение. Процесс решения, как это показано в предыдущей задаче, можно свести к выполнению следующих шагов:
- Выполнить команду solve, расположенную на панели Symbolics (Символьные).
- Заполнить предоставленный шаблон.
- Результат решения предоставлен на рис. 6.6.

Рис. 2.6. Символьное решение уравнения с использованием команд solve

В предоставленном решении используется ссылка на функцию с именем W – функцию Ламберта. Функция Ламберта. Это функция обратная функции . Чтобы найти значениеW и использовать найденное значение в предоставленном решении, можно также воспользоваться оператором float, как это показано на рис. 6.7.

Рис. 2.7. Символьное решение уравнения с использованием команд solve и float
Пример 4. Требуется найти корни уравнений вида:
;
в символьном виде. Здесь
– логарифм по основанию 2, а
– логарифм по основанию 10.
Решение выполняется по стандартной схеме, как это показано в предыдущих примерах. Результаты решения представлены на рис. 2.8.

Рис. 2.8. Символьное решение уравнений с использованием команды solve
Как это видно из рис. 2.8, первое уравнение имеет 4 действительных корня, а второе уравнение не имеет решение – об этом система выдала сообщение (при этом цвет символов в уравнении изменился на красный, а сообщение об отсутствии решения поместилось в прямоугольную область желтого цвета). Действительно, анализ области определения для уравнения 2 (приведен на рис. 2.9) показывает, что эта область пуста, т.е. нет таких значений x, при которых имелось бы решение уравнения. Поэтому при решении уравнений целесообразно предварительно находить область определения функции.



Рис. 2.9. Построение области определения для функции b) из примера 4
2.2. Решение неравенств
Для аналитического решения неравенств в MathCAD используется тот же самый оператор solve, расположенный на панели Symbolic (Символьные), что и для решения уравнений.

Пример 5. Требуется решить неравенство вида: в символьном виде.
Решение. Процесс решения задачи можно свести к выполнению следующих шагов:
- Выполнить команду solve, расположенную на панели Symbolics (Символьные).
- Заполнить предоставленный шаблон.
- Проанализировать результат.
- Решение неравенства из примера 5 предоставлено системой в виде, как это показано на рис. 6.10.

Рис. 2.10. Решение неравенства

Полученное решение соответствует следующей записи в стандартной форме: .
Как вы уже, наверное, заметили, MathCAD выдает ответы в несколько отличном, от принятом в нашей математике, виде. Поэтому зачастую самой трудной частью работы при символьном решении неравенств является интерпретация результата. Тут нужно запомнить несколько правил:
- Ответ оператор solve возвращает в виде вектора, содержащего элементарные неравенства. Каждое такое неравенство описывает область, в которой решаемое неравенство справедливо.
- Если область открытая (то есть одной из ее границ является бесконечность), то задающее ее элементарное неравенство будет иметь вид х>а или х. В стандартном виде такие области запишутся как
или
. - Если область замкнута и ее границам соответствуют значения аргумента а и b, то она будет описана элементарным неравенством вида
. В стандартном виде эта запись будет выглядеть как . - Области в векторе ответа будут расположены строго в направлении числовой оси. Поэтому преобразовывать в стандартную форму его можно чисто механически, сохраняя исходный порядок областей. Для объединения обозначений областей в одно выражение используется символ «
».

Пример 6. Требуется найти область определения функции .
Решение. Как известно, под областью определения функции понимают совокупность значений аргумента, при которых выражение, определяющее функцию, имеет смысл. Область определения заданной функции определяется из следующих условий:
- аргумент логарифма может принимать только положительные значения;
- знаменатель у дроби, стоящей под знаком логарифма не должен обращаться в нуль (х2);
- числитель не должен обращаться в нуль (х1).
На начальном этапе можно решить неравенство
. А затем из полученной области исключить точки –1 и 2. Решение неравенства: 

Что соответствует области: . В исключении точек –1 и 2 нет необходимости, так как они не входят в означенную область.

Пример 7. Требуется найти область определения функции. Если имеются точки разрыва, то установить тип разрыва.
Решение. Поскольку аналитическое выражение функции представлено в виде дроби, а знаменатель дроби не может быть равен 0, из области определения функции следует исключить точку
, т.е.
. Т.е. точка
является точкой разрыва. Чтобы найти тип разрыва следует найти односторонние пределы (команды следует взять с панелиCalculus (Вычислить)):


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

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


Рис. 2.11. Вычисление параметров наклонной асимптоты
Таким образом, уравнение наклонной асимптоты имеет вид:
. Анализ построенного графика функции и ее асимптот, представленного на рис. 2.12, показывает, что расстояния текущей точки кривой
до каждой из асимптот стремится к нулю по мере удалении этой точки по кривой в бесконечность, что соответствует определению асимптоты.
Следует обратить внимание на формулу в определении вертикальной асимптоты, представленной на рис. 2.12. Здесь значение функции равно х, а область аргумента соответствует постоянному значению –1.

Рис. 2.12. Графическая интерпретация связи графика с асимптотами

Пример 9. Требуется на графике функциинайти точки, подозрительные на экстремум (критические точки).
Решение. Воспользуемся необходимым условием существования экстремума: если функция непрерывна в точке х0 и ее окрестности и принимает в этой точке экстремальное значение, то первая производная f’(х0) либо равна нулю или бесконечности, либо не существует. Следовательно, для того, чтобы найти точки, подозрительные на экстремум, следует найти решение уравнений:
и
. Решение представлено на рис. 2.13.

Рис. 2.13. Определение критических точек графика функции
Из предоставленных решений берем только действительные корни:

.

Пример 10. Требуется на графике функциинайти точки, подозрительные на точки перегиба. Найти подтверждение правильности решения на графике функции.
Решение. Необходимое условие точки перегиба: если х0 – точка перегиба кривой y=f(х), то вторая производная f’’(х0) либо равна нулю или бесконечности, либо не существует. Решение представлено на рис. 2.14. На рис. 2.15 изображены функция и ее вторая производная.

Рис. 2.14. Определение точек перегиба графика функции

Рис. 2.15. Графика функции F(x) и ее второй производной F2(x)
Пример 11. Требуется найти максимум функции
при ограничениях, заданных неравенствами вида:
.
Решение. Для решения поставленной задачи можно воспользоваться следующей схемой [20]:
- Определить функцию.
- Задать начальные условия.
- Инициировать блок решения, в котором:
- Задать ограничения.
- Вычислить максимальное значение функции с помощью стандартной функции maximize, описанной в примере 2 лекции 1.
- Отобразить результат вычислений.
- Задаются начальные значения для искомых переменных.
- Формируется блок решения, а именно: между ключевыми словами Given и find(список искомых переменных) записывается система уравнений. Напомним, что знак «=» при написании уравнений выделен цветом. Это –булевский знак! Его следует брать с панели Boolean.
- После конструкции find записывается знак «=».
- решение с использованием блока решения;
- решение в графическом виде.
- переустанавливаются на графике диапазоны для изменения x и y;
- включается режим трассировки, путем щелчка правой кнопкой мыши на графике, выбор команды Trace…(Трассировка . );
- активизирует окно с координатами трассировки – щелчок левой кнопкой мыши на графике;
- появившиеся координатные оси можно перемещать по графику от одной точки пересечения до другой.
Решение представлено на рис. 2.16.

Рис. 2.16. Решение неравенства
2.3. Вычисление пределов и производных
Задача вычисления пределов может иметь самостоятельное значение. Ниже приведены примеры вычисления пределов от сложных функций.
Пример 12. Требуется вычислить следующие пределы:




Решение. Для нахождения пределов достаточно обратиться к панели Calculus (Вычислить), на которых расположены кнопки с пределами, в том числе левосторонними и правосторонними. Выполненные команды предоставят шаблоны для заполнения, после чего следует выполнить команду Simplify (Упростить), предназначенную для символьных вычислений. Решение представлено на рис. 2.14.

Рис. 2.14. Вычисление пределов
Пример 13. Требуется найти производные для заданных функций:
Решение. Для нахождения пределов достаточно обратиться к панели Calculus (Вычислить), на которых расположены команды для вычисления производных. Выполненные команды предоставят шаблоны для заполнения, после чего следует выполнить команду Simplify (Упростить), предназначенную для символьных вычислений. Для первой функции аналитическое выражение определено в виде функции, а во втором случае знак дифференцирования применен к аналитическому выражению. Решение представлено на рис. 6.15.

Рис. 2.15. Вычисление пределов

Пример 14. Требуется найти значение производной от функции в точке.
Решение. Для нахождения пределов достаточно обратиться к панели Calculus (Вычислить), на которых расположены команды для вычисления производных. Выполненные команды представлены на рис. 2.16.



Рис. 2.16. Вычисление пределов
2.4. Решение систем трансцендентных уравнений
К настоящему времени разработано много методов решения систем уравнений. Для решения систем уравнений в системе MathCad предусмотрен, так называемый, блок решения. Он удобен тем, что при его использовании уравнения записываются в обычной форме, а также тем, что позволяет решать как системы линейных, так и системы нелинейных уравнений, причем, как в численном, так и символьном виде.
Последовательность действий при численном решении сводится к следующему:
При символьном решении задание начальных значений не требуется, а вместо знака «=» для решения следует использовать знак «».

Пример 15. Требуется найти точки экстремума функции .
Решение. Известно, что необходимым условием для существования экстремума – равенство нулю частных производных первого порядка. Поэтому на начальном этапе необходимо получить частные производные по переменной x и по переменной y и приравнять их нулю. Для вычисления производной можно воспользоваться соответствующей командой панели Calculus (Вычислить). После чего процесс решения задачи можно свести к процессу решения системы уравнений. На рис. 6.17 представлены фрагменты документа MathCAD, содержащие поиск экстремумов функции.


Рис. 2.17. Решение системы нелинейных уравнений в задаче поиска экстремума
На рис. 2.17 представлены два варианта записи решения. На фрагменте, представленном на рис. 2.17, а, системы записаны в развернутом виде, а на рис. 2.17, b частные производные оформлены в виде функций и результаты решения заносятся в векторные значения.
Пример 16. Требуется найти точки пересечения параболы, заданной уравнением
и прямой, заданной в виде:
.
Решение. Предоставим два варианта решения задачи:
Вариант а
Поскольку точки пересечения линий являются общими для этих линий, то для определения точек пересечения следует решить систему из двух уравнений, описывающих эти линии. Если воспользоваться символьным блоком решения, то точки пересечения могут быть получены в виде, как это показано на рис. 6.18.

Рис. 2.18. Решение системы нелинейных уравнений в задаче поиска экстремума
Поскольку используется символьный блок решения, для представления результатов в числовом виде используется команда float. Анализ полученных результатов показывает, что заданные линии пересекаются в двух точках с координатами (r, t) – (17.8, 3.49) и (10.0, –1.15).
Вариант b
Для получения графического решения представим уравнения линий в виде функций от одной из переменных. В качестве независимой переменной выберем переменную t, т.к. переменная r в данном случае входит в оба уравнения в первой степени. В результате придем сначала к двум уравнениям вида:
и
. А затем каждое из уравнений можно представить в виде функций, которые в дальнейшем будем использовать при построении графиков.
Изменение независимой переменной на начальном этапе будет взято «по умолчанию». Для уточнения координат точек пересечения выполняются следующие действия:
На рис. 2.19 приведен фрагмент документа с графическим решением задачи – получение точек пересечения двух линий в декартовой системе координат.

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

Пример 17. Требуется построить график функции, заданной в параметрическом виде: .
Решение. Для построения графика функции, заданной в параметрическом виде, сначала нужно выбрать шаблон двумерного графика X—Y Plot, в середине горизонтальных и вертикальных осей ввести функции Переменная может быть задана, как индексированная переменная. На рис. 6.20 представлены результаты построения требуемой функции.

Рис. 2.20. График сложной функции, заданной парметрически
