Как строить графики в maple

Foodband

Встроенные процедуры Maple

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

В соответствии со значениями, приведенными в таблице, создаем два списка: сначала список X с узловыми точками, а затем список Y со значениями функции в этих точках.

Таблица 7.1. Табулированные значения для интерполируемой функции

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

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

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

В Maple для выполнения интерполяции сплайнами может быть использована процедура spline (). Процедура имеет три обязательных параметра. Первые два — это списки с узловыми точками и значениями функции соответственно. Третьим параметром указывается переменная интерполирования. Если четвертый необязательный параметр не указан, то интерполяция будет выполняться кубическими сплайнами, т.е. для "сшивки" узловых точек будут использоваться полиномы третьей степени. Например, если параметрами процедуры указать ранее рассмотренные списки, табулирующие значения функции в узловых точках, получим такой результат.

Четвертым параметром процедуры spline () может быть либо одно из зарезервированных ключевых слов из набора linear (интерполяция линейными зависимостями), quadratic (интерполяция параболами), cubic (кубический сплайн), quartic (интерполяция полиномами четвертой степени), либо целое неотрицательное число, определяющее степень интерполяционного полинома. Причем указание числа от 1 до 4 эквивалентно использованию перечисленных текстовых опций, согласно того порядка, как они были представлены выше.

Внимание!
В качестве четвертого параметра может быть указано любое целое положительное число, не только в диапазоне от 1 до 4. Просто для этих чисел существует альтернативный вызов через текстовую опцию. Например, командой spline(X,У,х,5) можно выполнить интерполяцию рассмотренной выше функции полиномами пятой степени и т.д.

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

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

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

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

Графика в системе Maple V

Лидером по графическим возможностям среди математических систем для персональных компьютеров долгое время считалась система Mathematics 2. Однако в реализации Maple V R4 возможности графики системы Maple V приблизились к таковым у системы Mathematica 2 и даже Mathematica 3. Они настолько обширны, что, будь математическая графика Maple V единственным назначением системы, оно вполне оправдало бы ее разработку.

Графика Maple V реализует все мыслимые (и даже «немыслимые») варианты математических графиков — от построения графиков простых функций в Декартовой и в полярной системах координат до создания реалистических образов сложных пересекающихся в пространстве фигур с их функциональной окраской. Возможны наглядные графические иллюстрации решений самых разнообразных уравнений, включая системы дифференциальных уравнений.

В само ядро Maple V встроено ограниченное число функций графики. Это прежде всего функция для построения двумерных графиков (20-типа) — plot и функция для построения трехмерных графиков (ЗО-типа) — plot3d. Они позволяют строить графики наиболее распространенных типов. Для построения графиков специального типа (например, в виде векторных полей градиентов, решения дифференциальных уравнений, построения фазовых портретов и т.д.) в пакеты расширения системы Maple V включено большое число различных графических функций. Для их вызова необходимы соответствующие указания.

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

• графические средства Maple V возвращают некоторые графические объекты, которые размещаются в окне документа в строке вывода или в отдельном графическом объекте;

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

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

13.1.2. Основная функция двумерной графики — plot

Для построения двумерных графиков служит функция plot. Она задается в виде:

plot(f, h, v) или plot(f, h, v, о),

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

Самыми простыми формами задания этой функции служат:

plot(i,xmin..xmax) — построение графика функции f, заданной только именем;

plot(f(x),x=xrnin..xmax) — построение графика функции f(x).

Диапазон изменения независимой переменной х задается как xmin..xmax, где xmin и гпах — минимальное и максимальное значение х, .. (две точки) — составной символ, указывающий на изменение независимой переменной. Разумеется, имя х здесь дано условно — независимая переменная может иметь любое допустимое имя.

Для двумерной графики возможны следующие опции:

axes Вывод различных типов координат (axes=NORMAL — обычные оси, выводятся по умолчанию, axes=BOXES — график заключается в рамку с оцифрованными осями, axes=FRAME — оси в виде перекрещенных линий и axes=NONE — оси •не выводятся).
color Задает цвет кривых (см. далее).
coords Задание типа координатных систем (см. далее).
numpoints Задает минимальное количество точек графика (по умолчанию numpoints=49).
resolutions Задает горизонтальное разрешение устройства вывода (по умолчанию resolutions-200, параметр используется при отключенном адаптивном методе построения графиков).
scaling Задает масштаб графика CONSTRAINED (сжатый) или UNCONSTRAINED (несжатый — по умолчанию).
size Задает размер шрифта в пунктах.
style Задает стиль построения графика (POINT — точечный, LINE — линиями).
symbol Задает вид символа для точек графика (возможны значения BOX — прямоугольник, CROSS — крест, CIRCLE — окружность, POINT — точка, DIAMOND — ромб).
title Задает построение заголовка графика (title=«string», где string — строка).
titlefont Определяет шрифт для заголовка (так же как и для font).
labelfont Определяет шрифт для меток (labels) на осях координат (так же как и для font).
thickness Определяет толщину линий графиков (0, 1,2,3, по умолчанию 0).
view=[A, B] Определяет максимальные и минимальные координаты, в пределах которых график будет отображаться на экране, А = [xmin..xmax], B=[ymin..углах] (по умолчанию отображается вся кривая).
xtickmarks Задает минимальное число отметок по оси X.
ytickmarks Задает минимальное число отметок по оси Y.

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

13.1.3. Задание координатных систем 20-графиков и их пересчет

В версии Maple V R4 параметр coords задает 15 типов координатных систем для двумерных графиков. По умолчанию задана прямоугольная (Декартовая) система координат (coords=cartesian). При использовании других координатных систем координаты точек для них (u,v) преобразуются в координаты (х,у) как (u, v) -> (x, у). Ниже приведены наименования систем координат (значении параметра coords) и соответствующие формулы преобразования:

Теория поля в maple 18. Основные объекты и команды Maple

В Maple имеется несколько способов представления функции.

Способ 1. Определение функции с помощью оператора присваивания (:= ): какому-то выражению присваивается имя, например:

Если задать конкретное значение переменной х , то получится значение функции f для этого х . Например, если продолжить предыдущий пример и вычислить значение f при , то следует записать:

После выполнения этих команд переменная х имеет заданное значение .

Чтобы насовсем не присваивать переменной конкретного значения, удобнее использовать команду подстановки subs(,f), где в фигурных скобках указываются переменные хi и их новые значения аi (i =1,2,…), которые следует подставить в функцию f . Например:

Все вычисления в Maple по умолчанию производятся символьно, то есть результат будет содержать в явном виде иррациональные константы, такие как, и другие. Чтобы получить приближенное значение в виде числа с плавающей запятой, следует использовать команду evalf(expr,t), где expr – выражение, t – точность, выраженная в числах после запятой. Например, в продолжение предыдущего примера, вычислим полученное значение функции приближенно:

Здесь использован символ (% ) для вызова предыдущей команды.

Способ 2. Определение функции с помощью функционального оператора, который ставит в соответствие набору переменных (x1,x2,…) одно или несколько выражений (f1,f2,…) . Например, определение функции двух переменных с помощью функционального оператора выглядит следующим образом:

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

Способ 3. С помощью команды unapply(expr,x1,x2,…) , где expr – выражение, x1,x2,… – набор переменных, от которых оно зависит, можно преобразовать выражение expr в функциональный оператор. Например:

В Maple имеется возможность определения неэлементарных функций вида

> piecewise(cond_1,f1, cond_2, f2, …).

записывается следующим образом.

10. ПРОГРАММИРОВАНИЕ В СРЕДЕ MAPLE

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

10.1. Условный оператор

Условный оператор в Maple начинается с зарезервированного слова if и обязательно должен заканчиваться, словом fi и имеет следующую структуру:

if условие then выражение 1 else выражение 2 fi ;

Данная конструкция дает возможность зависимости от значения логического условия выполнять выражение 1 (в случае если условие истинно) или выражение 2 (в случае если условие ложно). В качестве выражений 1 или 2 могут выступать любые последовательности команд из пакета Maple. Условный оператор может быть записан в сокращенном виде:

if условие then выражение 1 fi ;

[> restart;

[>if x>4 then print (‘x>4’); else x:=x^2;

print (2*x); fi;

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

if условие 1 then выражение 1 elif условие2 then выражение2 … elif условие n then выражение n else выражение n +1 fi ;

Как следует из структуры данного оператора вложенность условий может быть практически неограниченной и реализуется при помощи служебного слова elif . В качестве выражений можно использовать любые последовательности команд Maple.

[> restart;

[>if x

10. 2 . Операторы цикла

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

for имя переменной цикла from начальное значение переменной цикла by шаг приращения значения переменной цикла to конечное значение переменной цикла

[>for i from 0 by 4 to 8 do i od;

Оператор цикла типа «пока» в Maple имеет вид

while условие do выражение od ;

В данном случае тело цикла (выражение) выполняется до тех пор, пока значение логического условия истинно и прекращается, если условие — ложно.

[> restart;

[>while n

Следующий оператор цикла является симбиозом двух предыдущих и имеет следующую структуру:

for имя переменной цикла from начальное значение переменной цикла by значение приращение шага while условие do выражения od ;

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

[> restart;

[> for y from 0 by 2 while y

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

for имя переменной цикла in выражение 1 do выражение 2 od ;

Здесь тело цикла выражение 2 выполняется, в случае если символьная переменная заданная своим именем последовательно принимает значение каждого из операндов алгебраического выражения 1. Отметим, что работа данной конструкции зависит от внутреннего представления выражения 1. Так в случае если выражение 1 является суммой, то имя переменной цикла принимает поочередно значение каждого слагаемого, если произведение – то каждого сомножителя.

[> restart;

[> a:=5*x^2+x+6/x;

[> b:=simplify(%);

[> for m in a do m; od;

[> for m in b do m; od;

10.3. Процедуры-функции

Процедуры-функции в Maple можно задавать двумя способами. Для задания процедур-функций первый способ использует символ ( ) и задается следующей структурой:

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

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

[> f1:=(x1,x2)->simplify(x1^2+x2^2);

[> f 1 (cos(x),sin(x));

Второй способ задания процедур-функций использует команду unapply и имеет следующую структуру:

имя функции:= unapply (выражение или операция, список переменных);

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

[> f3:=unapply(diff(z(r)^2,r)-2,z);

[ > f3(sin);

[ > combine(%);

10.4. Процедуры

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

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

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

[> f:=proc(x,y);x^2+y^2;simplify(%);end:

[ > f(sin(x),cos(x));

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

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

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

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

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

имя процедуры:= proc (список параметров процедуры) local список локальных переменных, приведенных через запятую; global список глобальных переменных, приведенных через запятую; RETURN ( val ); ERROR (‘ error in body of procedure ’);… end ;

[ > examp(-1);

[> examp(0);

[ > examp(2);

11. СПОСОБЫ ВВОДА И ВЫВОДА ИНФОРМАЦИИ

В СРЕДЕ MAPLE

Для сохранения имен (индентификаторов) переменных и их значений во внешнюю память в виде файла с именем name . txt необходимо ввести команду:

save список имен переменных, перечисленных через запятую, “имя файла с расширением txt ”;

Если в качестве расширения указан символ m , то файл будет записан во внутреннем Maple-формате, при всех других расширениях в текстовом формате. Для вывода на экран сохраненной в файле информации используется команда

read имя файла ”;

[> restart;

[> examp:=proc(x) local y,w; global z; if x

[ > examp(-1);

[> examp(0);

Error, (in examp) Variablex = 0

[ > examp(2);

[ > read "nnn.txt";

Для записи всего содержимого экрана в файл можно использовать следующие две команды.

writeto (“имя файла”)

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

appendto (“имя файла”)

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

[ > f:=12;

[> f1:=factor (y^2-3*y); save f,f1, "n1.txt";

[> appendto ("n1.txt");

[> solve(x^2-3*x+2=0,x);

В результате выполнения команды save f , f 1, " n 1. txt "; будет создан текстовый файл n 1. txt , который будет содержать следующую информацию:

f:= 12;

f1:= y*(y-3);

а в результате выполнения команды appendto (" n 1. txt "); содержимое файла примет вид:

f:= 12;

f1:= y*(y-3);

[ > solve ( x ^2-3* x +2=0, x );

В пакете Maple предусмотрен ряд команд вывода информации на экран. Наиболее простыми из них являются команды

print (список Maple

lprint (список Maple -выражений, перечисляемых через запятую);

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

[> x:=y^2: print (x, "primer 1", y, factor(x-5*y));

[> x:=y^2: lprint (x, "primer 2", y, factor(x-5*y));

y^2, primer 2, y, y*(y-5)

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

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

readdata (“имя файла”, тип переменной( integer / float – последний тип устанавливается по умолчанию),счетчик чисел);

Перед использованием данной команды необходимо ее активизировать при помощи команды:

readlib(readdata):

[> restart;

[> readlib(readdata):

[> ff:=readdata("aa.txt",integer,8);

[ > x:=ff;

[ > y:=x;

[ > y1:=ff;

[ > f:=readline("aa.txt");

Двойная индексация в переменной ff связана с тем, что числа представляются в виде двумерного массива, при этом число строк массива соответствует числу считанных строк, а количество столбцов определяется последним параметром команды readdata . Как следует из приведенного примера команда readline выводит числовые данные в виде переменной типа string .

12. ИСПОЛЬЗОВАНИЕ МАТЕМАТИЧЕСКОГО ПАКЕТА MAPLE ДЛЯ НАУЧНЫХ ИССЛЕДОВАНИЙ

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

12.1. Исследование влияния изменяемых параметров плоской помольной камеры мельницы противоточного действия на скорость энергоносителя

12 .1.1. Постановка задачи

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

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

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

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

При истечении струи из разгонной трубки скорости потока в ее выходном сечении 1-1 во всех точках сечения равны между собой. На протяжении длины– начальном участке, осевая скорость постоянна по величине и равна скорости на срезе разгонной трубки V 0 . В области треугольника АВС (рис. 12.1.) во всех точках струи скорости энергоносителя равны между собой и также равны V 0 — эта область образует так называемое ядро струи. Далее осевая скорость постепенно уменьшается и на основном участке длинной l осн осевая скорость V ОС V 0 .

Рис. 12.1. Схема струи в помольной камере

Известно, что скорость энергоносителя от среза разгонной трубки до плоскости соударения струй изменяется по закону

где V z – скорость энергоносителя с помольной камере на расстоянии z от среза разгонной трубки, м/с;

V 0 – скорость энергоносителя на срезе разгонной трубки, м/с;

z 0 – расстояние от среза разгонной трубки до плоскости встречи струй, м.

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

где R – вектор силы динамического воздействия воздуха на частицу, Н;

F m – площадь сечения частицы, м 2 ;

где m – масса частицы измельчаемого материала, кг.

где — плотность частиц измельчаемого материала, кг/м.

Выражение (12.7) примет вид

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

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

Расстояние l стр – между срезом разгонной трубки и серединной плоскость в помольной камере выбрано из условия

где d тр = 18 диаметр разгонной трубки, мм.

04. 01 Преобразование уравнений. Команды lhs и rhs

* Entering and Manipulating Equations: The lhs and rhs commands *

Напомним, что уравнению, точно так же как и выражению, можно присвоить имя. В следующей командной строке мы введём уравнение и присвоим ему имя " eq1 " :

Мы можем вывести на экран левую и правую части уравнения по-отдельности при помощи команд lhs и rhs :

Воспользуемся командами lhs и rhs для того, чтобы привести уравнение к стандартному виду, в котором все члены собраны слева, а справа остался только 0:

> eq2:=lhs(eq1)-rhs(eq1)=0;

04. 02 Нахождение точных корней. Команда solve

* Finding Exact Solutions: The solve command *

Рассмотрим вначале рациональные уравнения. Известно, что существуют алгоритмы определения точных корней рациональных корней вплоть до 4-го порядка включительно. В Maple-команду solve и заложены эти алгоритмы.

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

Обратите внимание: в команде мы указываем, относительно какой переменной следует решать уравнение. Хотя в нашем конкретном случае это и не обязательно:

Maple нашел все 3 действительных корня и вывел их (в неупорядоченном виде ).

Иногда очень важно выбрать конкретный корень, чтобы потом использовать в дальнейших преобразованиях именно его. Для этого заранее следует присвоить имя результату исполнения команды solve . Назовём его X . Тогда конструкция X будет соответствовать первому корню из списка (подчеркнем: это не обязательно меньший корень! ), X — второму корню, и т.д. (Скобки — квадратные! ):

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

Ещё раз подчеркнём: практика показывает, что уравнению целесообразно присвоить имя. Традиционно в Maple такое имя начинается с букв eq :

(Не путать оператор присваивания " := " со знаком равенства " = " !)

Теперь решим уравнение при помощи команды solve . Множеству корней присвоим имя X :

Для убедительности проверим, нет ли среди найденных корней посторонних. Проверку выполним непосредственной подстановкой

Разумеется, частенько "точные" решения довольно громоздки, если не сказать иначе. Например, это касается уравнения :

Теперь Вам понятно, о чем речь? Для себя заметьте, что мнимая единица в Maple обозначается посредством прописной буквы I . Разумеется, в таких случаях не грех найти приближенные значения корней. Имея на руках точное решение, Вы и сами сообразите, как это сделать:

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

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

Иногда (а в тригонометрии — всегда ) Maple, по умолчанию , не выводит всё множество корней:

Но безвыходных ситуаций не бывает! Взяв за основу полученный результат, воспользуйтесь своими знаниями тригонометрических уравнений и запишите полное решение (как? ).

Упражнение 4.1

Решить уравнение Разберитесь, сколько различных корней имеет уравнение. Как Maple поступает при наличии равных корней?

Совет : разложите на множители левую часть уравнения.

> factor(x^3-11*x^2+7*x+147);

Корень х = 7 является двукратным, а потому у кубического уравнения только два различных корня. Разложение на множители левой части уравнения — тому подтверждение.

04. 03 Поиск приближенных корней. Команда fsolve

* Finding Approximate Solutions: The fsolve command *

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

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

Эти четыре корня и составляют исчерпывающее решение исходного рационального уравнения (хотя и приближенное ).

Используя команду fsolve , найти хотя бы один действительный корень уравнения :

Maple и вывел только один корень. На этот раз Maple не стал "живописать". Как теперь убедиться в том, что других действительных корней нет? Следующий пример даёт такой инструментарий.

Получить все действительные корни уравнения и убедиться в этом.

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

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

Второй корень очевиден: х = 0. А как поточнее найти остальные?

Шаг второй ( Уточнение ) : применим команду fsolve более "зряче". В Maple предусмотрена возможность указания промежутка, на котором отыскиваются корни. В частности, для определения отрицательного корня нашего уравнения, укажем, что поиски следует вести в "районе" [-1;-0.2]. Об этом красноречиво свидетельствует графическое решение.

Оставшиеся корни явно принадлежат промежуткам и . Расскажем об этом команде fsolve :

Ну а что произойдёт, если мы подсунем Maple "пустой участок"? Например, отрезок для нашего уравнения. Там графического решения явно нет:

Maple выдаёт название команды, само уравнение, имя аргумента и отрезок. Т.е. ничего нового. Мол: "Ищите корни сами, а я не нашел".

Шаг третий ( Дополнительный анализ ) : Как теперь удостовериться в том, что найдены все корни , а не только в видимой области графического решения? Для этого следует расширить интервал поисков:

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

Попробуем в других местах: справа и слева от области найденных корней.

И здесь ни одного дополнительного корня! Поняв, что с влиянием показательной части уравнения всё ясно, делаем окончательные выводы.

Исчерпывающее решение уравнения состоит из четырёх корней: -.8251554597 , 0 , 1.545007279 , 4.567036837 .

Применим команду fsolve для приближенного решения трансцендентного уравнения .

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

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

График указывает область поисков корней: промежуток . Настаёт черёд команды fsolve :

Корень найден. Но, очевидно, он — не единственный. Расширьте область поисков и ещё раз примените команду fsolve для отыскания второго корня.

Упражнение 4.2

Найти все действительные корни уравнения , начав с графического решения.

Построим график левой части уравнения:

В результате находим корни уравнения в первом приближении: -2 ; -1.5 ; 0 . Применим теперь команду fsolve без указания диапазона поиска (оценим возможности Maple ):

С удовлетворением отмечаем, что Maple выводит все три корня (Не будем забывать, что решали рациональное уравнение.)

Упражнение 4.3

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

Приведём уравнение к стандартному (для этого раздела) виду:

Foodband

Теперь построим график левой части уравнения:

По всей видимости, существует два корня. Один примерно равен -2, а другой, похоже, 2.

Применим команду fsolve , ограничив диапазон поиска:

Непосредственной подстановкой проверим корни:

Обратите внимание: в обоих случаях истинного равенства нет. С учётом ошибок при округлении, разумное расхождение вполне допустимо.

Убедитесь в отсутствии других корней. Ответ обоснуйте.

Упражнение 4.4

Графики функций и дважды пересекаются на отрезке [-5;5].

а). Постройте в одной системе координат графики обеих функций и при помощи мыши найдите координаты точек пересечения.

b). Составьте уравнение, корнями которого являются абсциссы точек пересечения графиков.

c). Используйте команду fsolve для решения этого уравнения.

d). Используйте результаты из пункта с) для оценки ординат точек пересечения графиков.

e). У Вас не создалось впечатление, что линии могут пересекаться и в третьей точке с координатами (1;9)? Используйте fsolve и графические возможности Maple, чтобы убедиться в противном.

Теперь построим графики функций:

Приближенные координаты точек пересечения: (-1.8, 6.6) и (2.75, 2) .

b) Составим уравнение:

с) Команда fsolve поможет найти соответствующие корни:

d) Используем команду subs для определения соответствующих ординат точек пересечения:

Общие точки графиков: (-1.800,6.763) и (2.773,2.311) .

e) Графически исследуем окрестность точки х = 1:

Команда fsolve на этот раз позволит доказать отсутствие корней вблизи точки х = 1:

04. 04 Решение уравнений в общем виде

* Solving Literal Equations *

Во многих случаях Maple находит решение уравнения в общем (символьном) виде. Речь идёт об уравнении (а не системы!), содержащем несколько переменных. Решение состоит в том, что какая-то из переменных выражается через остальные.

Пусть необходимо решить уравнение относительно переменной g . По привычке, используем команду solve . И она оправдывает наши надежды:

А так решение можно оформить в привычном виде:

Упражнение 4.4

Решить последнее уравнение относительно других переменных: T, k и v.

Упражнение 4.5

Решить уравнение относительно у. Присвоить последовательности корней имя S. Как связаны корни S и S ?

Корни отличаются только знаком.

В Maple имеется несколько способов представления функции.

Способ 1. Определение функции с помощью оператора присваивания (:= ): какому-то выражению присваивается имя, например:

Если задать конкретное значение переменной х , то получится значение функции f для этого х . Например, если продолжить предыдущий пример и вычислить значение f при , то следует записать:

После выполнения этих команд переменная х имеет заданное значение .

Чтобы насовсем не присваивать переменной конкретного значения, удобнее использовать команду подстановки subs(,f), где в фигурных скобках указываются переменные хi и их новые значения аi (i =1,2,…), которые следует подставить в функцию f . Например:

Все вычисления в Maple по умолчанию производятся символьно, то есть результат будет содержать в явном виде иррациональные константы, такие как, и другие. Чтобы получить приближенное значение в виде числа с плавающей запятой, следует использовать команду evalf(expr,t), где expr – выражение, t – точность, выраженная в числах после запятой. Например, в продолжение предыдущего примера, вычислим полученное значение функции приближенно:

Здесь использован символ (% ) для вызова предыдущей команды.

Способ 2. Определение функции с помощью функционального оператора, который ставит в соответствие набору переменных (x1,x2,…) одно или несколько выражений (f1,f2,…) . Например, определение функции двух переменных с помощью функционального оператора выглядит следующим образом:

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

Способ 3. С помощью команды unapply(expr,x1,x2,…) , где expr – выражение, x1,x2,… – набор переменных, от которых оно зависит, можно преобразовать выражение expr в функциональный оператор. Например:

В Maple имеется возможность определения неэлементарных функций вида

> piecewise(cond_1,f1, cond_2, f2, …).

записывается следующим образом.

РЕШЕНИЕ МАТЕМАТИЧЕСКИХ ЗАДАЧ

В MAPLE

ЧАСТЬ I

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего

МАТЕМАТИЧЕСКИХ ЗАДАЧ В MAPLE

факультета для студентов, обучающихся по

направлению подготовки 010100 — «Математика».

Решение задач в MAPLE. Часть I. Составители: , : Учебно-методическая разработка. – Н. Новгород: Издательство Нижегородского госуниверситета, 2007. – 35 с.

доцент кафедры ЧиФА факультета ВМК,

доцент кафедры ПиУОС Физического факультета,

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

Учебно-методическая разработка предназначена для студентов 2 и 3 курсов механико-математического факультета .

университет им. , 2007

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

Система Maple включена в интегрированную систему Scientific WorkPlace и применяется во многих ведущих университетах мира как в научных исследованиях, так и в учебном процессе. Ядро Maple входит в другие распространенные пакеты, такие как MathCad, MathLab.

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

1. НАЧАЛЬНЫЕ СВЕДЕНИЯ. ТИПЫ ДАННЫХ

Диалог с системой протекает в стиле «вопрос-ответ». Команда начинается с символа > и заканчивается либо точкой запятой (; ), либо двоеточием (: ). Для выполнения команды необходимо нажать клавишу Enter . Если в конце команды стоит точка с запятой, то на экран будет выведен результат действия команды или сообщение об ошибке. Двоеточие в конце команды означает, что команда будет выполнена, но ее результат на экран не будет выводиться. Символ # используется для ввода текстовых комментариев. Также для ввода текста используется клавиша с символом T на панели инструментов. Для возвращения к вводу команд следует нажать клавишу с символом >. Для вызова результата действия предыдущих команд используются символы %, %% или %%%, соответственно. Команда restart отменяет результат действия всех предыдущих команд.

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

Рассмотрим особенности записи в Maple данных числового, строкового и множественного типов.

Выражение принадлежит к целому типу (integer ), если оно состоит из последовательности цифр, не разделенных никакими знаками. Выражения вида a/b, где a, b – целые числа принадлежат к дробному типу (fraction ). К числам с плавающей точкой (float ) относятся выражения вида a. b, a. и. b. Также числа типа float можно записать в показательной форме a*10^b. Комплексные числа (complex ) в Maple записываются в алгебраической форме: a+I*b, где a, b – вещественные числа.

Строковое выражение типа string — это любая конечная последовательность символов, с обеих сторон заключенная в верхние двойные кавычки. Последовательность символов, взятая в обратные кавычки, считается символом (symbol ).

Множество (set ) в Maple задается перечислением в фигурных скобках элементов множества. Например,

https://pandia.ru/text/78/155/images/image003_72.gif" width="197" height="26">

Для создания массива используется команда array(i1..j1, i2..j2. M), которая возвращает массив с элементами из списка M.

Обращение к элементам множества, списка, массива происходит с указанием индексов элемента в квадратных скобках.

https://pandia.ru/text/78/155/images/image006_53.gif" width="16 height=19" height="19">

Массив также можно задать командой вида V:=array(1..2,1..2,1..2,); , переопределив затем значения V с помощью оператора присваивания.

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

1. Задайте множество A, состоящее из целых чисел от 3 до 20, и множество B, состоящее из квадратов этих чисел. Найдите объединение, пересечение, разность множеств A и B. Найдите мощности всех полученных множеств.

2. Задайте произвольный список и четырехмерный массив.

2. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ, ФУНКЦИИ. ПРЕОБРАЗОВАНИЯ АРИФМЕТИЧЕСКИХ

ВЫРАЖЕНИЙ И РЕШЕНИЕ УРАВНЕНИЙ

2.1. Вычисления в Maple

Для записи математических выражений в Maple используются операторы сложения (+), вычитания (-), умножения (*), деления (/), возведения в степень (^), оператор присваивания (:=). Порядок выполнения математических операций является стандартным.

Основные константы в Maple обозначаются следующим образом: Pi — число π, I — мнимая единица i, exp(1) — основание натуральных логарифмов e, infinity – бесконечность, true — истина, false – ложь. Используются следующие знаки сравнения: , >=, , = .

Система Maple одинаково успешно справляется как с символьными вычислениями, так и с численными. По умолчанию расчеты проводятся символьно.

>1/2+123/100+ sqrt (3);

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

>2+ sqrt (2.0)- Pi ;

Все вычисления по умолчанию проводятся с десятью значащими цифрами. Количество значащих цифр можно изменить, применив команду > Digits : = n .

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

https://pandia.ru/text/78/155/images/image012_43.gif" width="414" height="19">

2.2. Задание функций

В Maple встроено большое количество функций. Перечислим обозначения для основных элементарных функций..gif" width="83 height=57" height="57">

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

1) присваивание переменной некоторого выражения

имя переменной:=выражение;

имя переменной(список параметров):=выражение;

> f (t ):= cos (t )^2+1;

> f (0);

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

https://pandia.ru/text/78/155/images/image018_28.gif" width="106" height="33">

https://pandia.ru/text/78/155/images/image021_25.gif" width="100" height="33">

>x := Pi : y :=10: f ;

Команда value (выражение) используется для вычисления значения выражения.

Следует обратить внимание на то, что после присвоения переменной x конкретного значения x:=a, переменная x перестанет быть неопределенной. Вернуть x статус непределенной переменной можно командой > x := evaln (x ); или снять присваивание командой > x :=’ x ; либо отменить все присваивания командой restart .

2) Определение функции с помощью функционального оператора

имя функции:=список параметров -> выражение;

Обращение к функции, заданной таким способом, происходит стандартным образом: имя функции(a, b, …), где a, b, … — конкретные значения переменных.

> f 1:=(x , y , z ) -> x ^(y ^ z );

https://pandia.ru/text/78/155/images/image024_25.gif" width="25" height="26 src width="189" height="107"> используется команда

https://pandia.ru/text/78/155/images/image028_21.gif" width="248" height="77">

> f1:=convert(f, piecewise);

> f 2(-1/2); f 2(-1);

https://pandia.ru/text/78/155/images/image032_20.gif" width="196" height="27">.gif" width="73" height="49">. Упростите полученные выражения.

3. Найдите значение выражения . Для выполнения преобразований комплексного числа применяется функция evalc .

4. Запишите функцию без знака модуля.

5. Задайте и найдите f(-10)+3f(-1)+f(3).

6. Задайте функцию в виде функционального оператора и найдите ее значение при x=-1, y=.

2.3. Преобразование математических выражений

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

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

Для выделения левой (правой) части в математическом выражении вида A=B используются команды

lhs (выражение);

rhs (выражение);

Для выделения числителя (знаменателя) используются команды

numer (выражение);

denom (выражение);

>denom (rhs (F ));

Для выделения некоторой части выражения, списка или множества служит команда

op (i ,выражение) , где i – число, определяющее позицию в выражении.

> x + y + z ; >op (2,%);

Gif" width="12" height="12 src 54" width="266" loading=lazy>

> isolate (R , sin (x ));

1) Приведение подобных членов в выражении по переменной осуществляется командой

https://pandia.ru/text/78/155/images/image047_14.gif" width="439" height="28">

2) Разложить на множители выражение можно с помощью команды

https://pandia.ru/text/78/155/images/image050_16.gif" width="186" height="56">

>alias(w=RootOf(x^3+2*x+1)); factor(x^3+2*x+1,w);

https://pandia.ru/text/78/155/images/image055_15.gif" width="504" height="26 src width="303" height="57">

> factor(x^2+x+1,complex);

Gif" width="12" height="12 src 58" width="173" loading=lazy>

4) Привести дробь к нормальному виду можно с помощью команды

https://pandia.ru/text/78/155/images/image063_16.gif" width="60" height="54">

>normal(sin(2*x+3+4/(x-1)+5/(x-2)), expanded);

5) Для преобразований выражений, содержащих радикалы, применяется команда

rationalized " для того, чтобы избавиться от иррациональностей в знаменателях, " expanded " для раскрытия всех скобок.

> (7+5* sqrt (2))^(1/3);

> radnormal ((7+5* sqrt (2))^(1/3));

> a := sqrt (3)/(3^(1/2)+6^(1/2));

rationalized ");

6) Упрощение выражений осуществляется командой

DIV_ADBLOCK515">

>simplify((sqrt(2)+sqrt(3))*(sqrt(2)-sqrt(3)));

> f:=(1-cos(x)^2+sin(x)*cos(x))/(sin(x)*cos(x)+cos(x)^2); simplify(f, trig);

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

> simplify(g, assume=real);

> simplify(g, assume=positive);

>simplify(g, symbolic);

Команда simplify позволяет выполнить преобразования в выражении при заданных условиях (условия указываются в фигурных скобках).

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

https://pandia.ru/text/78/155/images/image076_12.gif" width="276" height="54">

>simplify(B, trig);

>simplify (%);

7) Объединить части выражения по определенным правилам можно при помощи команды

https://pandia.ru/text/78/155/images/image079_12.gif" width="94" height="25 src width="12" height="12 src 22" width="125" loading=lazy>

> solve(x^4-11*x^3+37*x^2-73*x+70);

https://pandia.ru/text/78/155/images/image086_12.gif" width="349" height="22 src >

> _EnvExplicit:=true:

Максимальное количество решений, которое может быть найдено с помощью команды solve, определяется значением глобальной переменной _MaxSols , имеющей по умолчанию значение равное 100. Если придать глобальной перменной _EnvAllSolutions значение true , то в случае бесконечного множества решений, команда solve для некоторых уравнений сможет оформить ответ в виде выражения, содержащего переменные определенного типа. Например, для тригонометрических уравнений ответ будет содержать целочисленные параметры вида _Z

> _EnvAllSolutions:= true:

>solve(sin(2*x)=cos(x), x);

https://pandia.ru/text/78/155/images/image094_11.gif" width="274" height="51 src width="12" height="12 src width="641" height="23">

Для разрешения реккурентностей применяется команда

https://pandia.ru/text/78/155/images/image098_10.gif" width="255" height="22 src width="119" height="23 src width="180" height="56">.

2. Упростите выражение .

3. Упростите выражение .

4.Приведите подобные в выражении и вычислите его значение при a=-3, x=1.

5. Упростите выражение а) ; б) .

6. Избавьтесь от иррациональностей в знаменателе выражения .

7. Выразите , https://pandia.ru/text/78/155/images/image113_7.gif" width="46" height="48 src width="164" height="41">;

б) https://pandia.ru/text/78/155/images/image120_7.gif" width="88" height="47 src 27" width="153" loading=lazy> на множители над полем вещественных чисел и над полем рациональных чисел. Найдите разложение в радикалах.

12. Разложите многочлен на множители над полем вещественных чисел и над полем комплексных чисел. Найдите разложение в радикалах.

13. Решите уравнение .

14. Решите систему уравнений .

15. Решите систему уравнений и упростите ответ.

16. Численно найти все решения уравнения .

17. Найти три численных решения уравнения .

18. Решите систему неравенств .

19. Решите неравенство .

3 . ПОСТРОЕНИЕ ГРАФИКОВ

Эта часть посвящена возможностям системы Maple V в визуализации самых разнообразных вычислений.

3.1. Двумерные графики

Для построения графиков функции f(x) от одной переменной (в интервале https://pandia.ru/text/78/155/images/image132_6.gif" width="69" height="24"> по оси Оу ) используется команда

plot(f(x), x=a..b, y=c..d, options),

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

Основные параметры команды plot :

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

coords=polar – установка полярных координат (по умолчанию установлены декартовы).

axes – установка типа координатных осей: axes=NORMAL – обычные оси; axes=BOXED – график в рамке со шкалой; axes=FRAME – оси с центром в левом нижнем углу рисунка; axes=NONE – без осей.

scaling – установка масштаба рисунка: scaling=CONSTRAINED – одинаковый масштаб по осям; scaling=UNCONSTRAINED – график масштабируется по размерам окна.

style = LINE – вывод линиями, style = POINT вывод точками.

numpoints=n – число вычисляемых точек графика (по умолчанию n=50 ).

сolor – установка цвета линии: английское название цвета, например, yellow – желтый и т. д.

xtickmarks=nx и ytickmarks=ny – число меток по оси Оx и оси Оy , соответственно.

thickness=n, где n=1,2,3… — толщина линии (по умолчанию n=1 ).

linestyle=n – тип линии: непрерывная, пунктирная и т. д. (по умолчанию n=1 – непрерывная).

symbol=s — тип символа, которым помечают точки: BOX, CROSS, CIRCLE, POINT, DIAMOND .

font= – установка типа шрифта для вывода текста: f задает название шрифтов: TIMES, COURIER, HELVETICA, SYMBOL; style задает стиль шрифта: BOLD, ITALIC, UNDERLINE; size – размер шрифта в pt.

labels= – надписи по осям координат: tx – по оси Оx и ty – по оси Оy .

discont=true – указание для построения бесконечных разрывов, при этом на графике асимптоты не рисуются.

Пример. Построить график https://pandia.ru/text/78/155/images/image134_1.jpg" width="292 height=292" height="292">

Построение графика функции, заданной параметрически

С помощью команды plot можно строить также графики функций, заданных параметрически y=y(t), x=x(t) :

plot(, parameters) .

Пример. Построить график параметрической кривой , https://pandia.ru/text/78/155/images/image138_2.jpg" width="231 height=164" height="164">

Построение графика функции, заданной неявно

Для построения графика неявной функции F(x, y)=0 используется команда https://pandia.ru/text/78/155/images/image139_5.gif" width="80" height="27">.

>with(plots):implicitplot(x^2+y^2=1, x=-1..1, y=-1..1);

Gif" width="12 height=12" height="12"> textplot(, options), где x0, y0 – координаты точки, с которой начинается вывод текста ’text’ .

Вывод нескольких графических объектов на один рисунок

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

Если необходимо нарисовать несколько графических объектов, полученных при помощи различных команд, то для этого результат действия команд присваивается некоторым переменным:

> p := plot (…): t := textplot (…):

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

display(, options) .

Пример . Построить графики функций https://pandia.ru/text/78/155/images/image142_6.gif" width="73" height="20 src width="59" height="24 src width="297 height=24" height="24"> , то для этого можно использовать команду inequal из пакета plots:

inequals(c1,…,fn(x, y)>cn>, x=x1…x2, y=y1..y2, options)

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

.gif" width="12" height="12 src width="12" height="12 src width="75" height="43">.

3..gif" width="72" height="20">, в рамке.

4..gif" width="83" height="23 src width="75" height="20 src width="321" height="198">

График поверхности, заданной параметрически

Если требуется построить поверхность, заданную параметрически: x =x (u ,v ), y =y (u ,v ), z =z (u ,v ), то эти функции перечисляются в квадратных скобках в команде:

plot3d(, u=u1..u2, v=v1..v2) .

Пример . Построить тор.

> plot3d(, s=0..2*Pi, t=0..11*Pi/6, grid=, style=patch, axes=frame, scaling=constrained);

https://pandia.ru/text/78/155/images/image162_4.gif" width="99" height="24">, строится с помощью команды пакета plot s :

implicitplot3d(F(x, y,z)=c, x=x1..x2, y=y1..y2, z=z1..z2), где указывается уравнение поверхности и размеры рисунка по координатным осям.

График пространственных кривых

В пакете plot s имеется команда spacecurve для построения пространственной кривой, заданной параметрически: .

spacecurve ([ x (t ), y (t ), z (t )], t = t 1.. t 2) , где переменная t изменяется от t1 до t2 .

Построение нескольких трехмерных фигур на одном графике

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

Пример. Выполнить построение двух поверхностей и в пределах https://pandia.ru/text/78/155/images/image168_4.gif" width="39" height="19">.

> plot 3 d (< x * sin (2* y )+ y * cos (3* x ), sqrt (x ^2+ y ^2)-7>, x =- Pi .. Pi , y =- Pi .. Pi , grid =, axes = FRAMED , color = x + y );

Maple позволяет выводить на экран движущиеся изображения с помощью команд animate (двумерные) и animate3d (трехмерные) из пакета plot s . Суть анимации при использовании данных функций заключается в построении серии кадров, причем каждый кадр связан со значением изменяемой во времени переменной t. Среди параметров команды animate3d есть

frames – число кадров анимации (по умолчанию frames=8 ).

Управлять движущимся изображением удобнее с помощью контекстного меню.

Задание 3 .2

1. Построить график поверхности .

2. Построить шар :

3..gif" width="65" height="21 src width="173 height=53" height="53">.gif" width="95" height="48 src width="71" height="23 src width="12" height="12 src width="215" height="58 src >

Foodband

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

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