Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка Maple, Стребуляев

.pdf
Скачиваний:
297
Добавлен:
27.03.2015
Размер:
1.24 Mб
Скачать

generate_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