Методичка Maple, Стребуляев
.pdfgenerate_ic, genhomosol, gensys, hamilton_eqs, hypergeomsols, hyperode, indicialeq, infgen, initialdata, integrate_sols, intfactor, invariants, kovacicsols, leftdivision, liesol, line_int, linearsol, matrixDE, matrix_riccati, maxdimsystems, moser_reduce, muchange, mult, mutest, newton_polygon, normalG2, ode_int_y, ode_y1, odeadvisor, odepde, parametricsol, particularsol, phaseportrait, poincare, polysols,
power_equivalent, ratsols, redode, reduceOrder, reduce_order, regular_parts, regularsp, remove_RootOf, riccati_system, riccatisol, rifread, rifsimp, rightdivision, rtaylor, separablesol, singularities, solve_group, super_reduce, symgen, symmetric_power, symmetric_product, symtest, transinv, translate, untranslate, varparam, zoom]
Этот пакет дает самые изысканные средства для аналитического и численного решения дифференциальных уравнений и их систем. Для решения дифференциальных уравнений с частными производными и его визуализации служит специальный инструментальный пакет PDEtools:
with(PDEtools);
[PDEplot, TWSolutions, build, casesplit, charstrip, dchange, dcoeffs, declare, difforder, dpolyform, dsubs, mapde, separability, splitstrip, splitsys, undeclare]
Большое количество физических констант, используемых в расчетах, задаются с использованием следующего пакета:
with(ScientificConstants);
[AddConstant, AddElement, AddProperty, Constant, Element, GetConstant, GetConstants,
GetElement, GetElements, GetError, GetIsotopes, GetProperties, GetProperty,
GetUnit, GetValue, HasConstant, HasElement, HasProperty, ModifyConstant,
ModifyElement]
> GetConstant(g);
standard_acceleration_of_gravity, symbol g, value 9.80665, uncertainty 0,
units m
s2
> g:=evalf(Constant(g,units));
g := 9.80665 |
|
m |
||
|
|
|
|
|
|
2 |
|||
|
|
s |
|
|
|
|
|
|
В настоящем разделе приведена лишь незначительная часть пакетов прикладных программ используемых для решения задач указанного выше класса.
11
Информацию о других пакетах можно получить в справочнике системы Maple, а также в многочисленной литературе, посвященной описанию данной системы.
1.2.Способы задания функций и построение их графиков
Всистеме аналитических вычислений Maple существует четыре способа задания функций.
Способ 1. Определение функции с помощью оператора присваивания (:=), например
>restart;
>f[1]:=sin(x)^3+1;
f1 := sin(x)3 1
Для того чтобы вычислить значение функции в какой либо точке, необходимо выполнить следующих два оператора:
> x:=Pi/4; f[1];
x := 4
2
4 1
> 1/4*2^(1/2)+Pi;
2
4
После выполнения этих команд переменная x имеет заданное значение Pi/4. Чтобы насовсем не присваивать переменной конкретного значения, удобнее использовать команду подстановки subs в следующем виде:
> a:=subs({x=Pi/4},f[1]);
a := 42 1
Чтобы получить приближенное значение предыдущего выражения в виде числа с плавающей запятой, используем команду:
> evalf(%); # Символ (%) используется для вызова
предыдущей команды;
1.353553390
12
Способ 2. Определение функции с помощью функционального оператора, который ставит в соответствие независимой переменной (аргументу) значение зависимой переменной (функции):
> f[2]:=(t)->t^3+exp(t);
f2 := t t3 et
Обращение к этой функции осуществляется привычным для специалистов способом:
> f[2](1); f[2](3);
1 e
27 e3
Приближенные значения получим в виде:
> evalf(f[2](1)); evalf(f[2](3));
3.718281828
47.08553692
13
Способ 3. Задание функции с помощью команды unapply
> f[3]:=unapply(y^6+y,y);
f3 := y y6 y
> f[3](1); f[3](5);
2
15630
Способ 4. Задание кусочно-линейной функции. Например:
> f[4]:=piecewise(z<0,1,z>=0 and z<1, z, z>=1,cos(z));
|
|
1 |
|
|
|
f4 |
|
z |
:= |
||
|
|
cos(z ) |
|
|
z 0
0 z and z 1
1 z
Приведенные выше способы задания функций применимы и для случая функций от нескольких переменных.
Для построения графиков функций используется пакет plots. Она задается в виде
plot(f,h,v,g),
где f — визуализируемая функция,
h — аргумент функции, с указанием области его изменения,
v — необязательная переменная — функция, с указанием области ее изменения,
g — набор параметров, задающих стиль построения графика функции. Для двумерного графика возможны следующие наиболее часто употреб-
ляемые параметры (g):
axes — определяет тип координатных осей, допускает значения: frame, boxed, normal, none;
axesfont — определяет шрифт для отображения надписей координатной шкалы, тип шрифта (times,courier,helvetica,symbol), его стиль (bold, italic, bolditalic), а также размеры;
color — цвет линии для отображения графика функции: aquamarine (зе- леновато-голубой), black (черный),
blue (голубой), navy (темно-синий), coral (светло-красный), cyan (голубой), brown (коричневый),
gold (ярко-желтый), green (зеленый), gray (серый), khaki (хаки), magenta (пурпурный),
maroon (красно-коричневый), orange (оранжевый), pink (розовый), plum (темно-фиолетовый),
red (красный), sienna (охра), tan (желто-коричневый), turquoise (бирюзовый), violet (фиолетовый),
14
wheat (бледно-желтый), white (белый), yellow(желтый);
coords — параметр задает систему координат, в которой отображается график: декартова система координат (cartesian) — по умолчанию, биполярная (bipolar), кардиоидная (cardioid), кассинианова (cassinian), эллиптическая (elliptic), гиперболическая (hyperbolic), инверсная кассинианова (invcassinian), инверсная эллиптическая (invelliptic), логарифмическая (logarithmic), лога- рифмо-гиперболическая (logcosh), максвелова (maxwell), параболическая (parabolic), полярная (polar), круговая (rose) и касательная (tangent);
discont — если формальный параметр функции discont( ) равен true, то выполняется проверка функции на наличие точек разрыва, по умолчания значение параметра равно false;
font — параметр определяет шрифт для отображения текстовых надписей (times, courier, helvetica или symbol) и стиля шрифта (roman, bold, italic, bolditalic) на графике;
labels — параметр задает надписи для осей координат; параметр задается в виде двух строк : для оси абсцисс и для оси ординат;
labelfont — параметр определяет шрифт надписей для осей координат; legend — легенда графика, для нескольких графиков задается список,
каждый элемент которого — легенда соответствующего графика;
linestyle — стиль линии: сплошная (solid), пунктирная (dot), штрихованная (dash), штрихпунктирная (dashdot);
numpoints — параметр задает минимальное число базовых точек для построения графика (по умолчанию это число равно 50);
scaling — параметр задает масштабы по осям координат отображения графика: единый (constrained) и различный (unconstrained);
style — параметр стиля линии: линия (line), точка (point), заливка (patch), заливка без отображения границ (patchnogrid);
symbol — тип символов для отображения базовых точек: квадрат (box), крест (cross), круг (circle), точка(point), ромб (diamond);
symbolsize — размер символов отображения базовых точек (по умолчанию он равен 10);
title — заголовок рисунка;
titlefont — шрифт заголовка рисунка;
thickness — параметр, задающий толщину линии отображения графика(0–15).
Ниже приведены примеры построения графиков функций, заданных в разных формах.
> restart: with(plots):
Warning, the name changecoords has been redefined
Для случая функции, заданной в явном виде, построение графика осуществляется следующим образом:
> f[1]:=(x)->(x^2-x-6)/(x-2);
15
f:= x x2 x 6 1 x 2
>plot(f[1](x),x=1..3,color=red,thickness=2);
Если задать ограничения на изменение значения функции, графический образ рассматриваемой функции будет более понятным:
> plot(f[1](x),x=-2..6,y=-50..50,color=red,thickness=2);
Аналитически заданная функция может быть также использована в опе-
раторе plot:
> plot((x^2-x-6)/(x-2),x=1..3,y=-50..50,thickness=2);
16
Предел изменения аргумента может быть бесконечным (infinity).
>
plot(ln(1+cos(x)),x=0..infinity,color=blue,thickness=2);
> plot(ln(1+cos(x)),x=0..infinity,y=-
5..0,color=blue,thickness=2);
17
Для функции с разрывами возможно построение непрерывного графика discont=true (по умолчанию discont=false):
> plot(ln(1+tan(x)),x=-
10..10,discont=true,color=gold,thickness=2);
> plot(ln(1+tan(x)),x=-
10..10,color=gold,thickness=2);
18
Построение нескольких графиков функций в одних осях осуществляется следующим образом:
plot([sin(x),sin(x)/x,sin(x^3/100)], x=-10..10,color=red,thickness=2);
> plot([sin(x),sin(x)/x,sin(x^3/100)], x=-10..10,color=[black,blue,red], style=[line,line,point],thickness=2);
19
Построение графика функции, заданной отдельными точками, осуществляется следующим образом:
>restart:
>p:=[[i,sin(i/3)]$i=1..30]:# -процедура задающая последовательность точек;
>plot(p,x=0..30,color=black,style=point,symbol=circle, symbolsize=20,thickness=4);
plot([[0,0],[1,0.5],[2,0.7],[3,0.4], [5,0.2]],x=0..5,style=line,symbol=circle,color=blue, thickness=2);
20