Результаты на экране: –2, –1 - Институт сервиса и технологий

advertisement
МИНОБРНАУКИ РОССИИ
Государственное образовательное учреждение высшего профессионального образования
«Южно-Российский государственный университет экономики и сервиса»
(ГОУ ВПО «ЮРГУЭС»)
Кавминводский институт сервиса (филиал)
(КМВИС ГОУ ВПО «ЮРГУЭС»)
Новиков В.М.
«Прикладные математические пакеты - MAPLE (часть 1)»
Учебно-методическое пособие для студентов заочной формы обучения специальностей 080507
«Менеджмент организации» и 080109 «Бухгалтерский учет и аудит»
Пятигорск
2011 г.
МИНОБРНАУКИ РОССИИ
УДК 681.3
ББК 32.97
Н 73
Кафедра «Электрорадиотехника и информатика»
Составитель:
доцент., к.ф-м.н., зав.кафедрой «ЭРТИ» Новиков В.М.
Рецензент:
доцент кафедры «ЭРТИ» Дзюба В.И.
Новиков В.М.
Прикладные математические пакеты - MAPLE (часть 1): Учебно-методическое
пособие. – Пятигорск: РИО КМВИС, 2011. – 20с.
Учебно -методическое пособие предназначено для оказания помощи студентам при самостоятельном изучении курса “Прикладные математические пакеты”, подготовке к контрольной работе, к зачету и экзамену. Содержит описание
самых необходимых понятий и функций, решение задач математического анализа
(пределы, дифференцирование, интегрирование), решение задач линейной алгебры, построение графиков на плоскости. Дается образец решения контрольной работы.
Печатается по решению Методического совета КМВИС для внутривузовского
издания (протокол №3 от 09.02.2011г. )
© Кавминводский институт сервиса (филиал)
Южно-Российского государственного
университета экономики и сервис
© Новиков В.М.
СОДЕРЖАНИЕ
1. НЕКОТОРЫЕ НАЧАЛЬНЫЕ СВЕДЕНИЯ
…………….…...……………………4
2. РЕШЕНИЕ ЗАДАЧ МАТЕМАТИЧЕСКОГО АНАЛИЗА
……..….……….……7
3. РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОЙ АЛГЕБРЫ ….……………….….………..…….9
4. ПОСТРОЕНИЕ ГРАФИКОВ ФУНКЦИЙ
………………….…………………….12
5. ОБРАЗЕЦ ВЫПОЛНЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ ………..………….…..15
6. ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ…………..……………….18
БИБЛИОГРАФИЧЕСКИЙ СПИСОК .………….…………...…………………...19
1. НЕКОТОРЫЕ НАЧАЛЬНЫЕ СВЕДЕНИЯ
Мы будем рассматривать систему символьной математики Maple V R4.
1.1. Некоторые полезные константы:
Pi – это число  = 3,1415926... ,
exp(1) – это число e = 2,71828182... ,
infinity – это бесконечность (+),
I – это мнимая единица (I2 = –1),
false – это “ложь”,
true – это “истина”.
1.2. Имя переменной (идентификатор)
Идентификатор – это слово из букв английского алфавита, цифр, знака _,
первым символом которого является буква. Большие и малые буквы различаются.
Примеры: x, x1, x_1, ss2, integral_10, urav1, my_solve_1. Идентификатором обозначается практически любой объект Maple. ss1:=x^2+4*x–5=0 означает, что
квадратное уравнение x2+4x–5=0 обозначено идентификатором ss1. Здесь := означает знак присваивания. Теперь, если где-то в Maple-тексте встретится имя ss1, то
нужно понимать так, что вместо него стоит это уравнение.
1.3. Числа
Числа бывают целые, дробные десятичные, обыкновенные дробные, действительные с плавающей точкой, комплексные.
123, –9999, 100000 – целые числа,
123.56, 0.987, .987, –.987, 1.0, 1. – дробные десятичные числа,
1/2, 345/23, –5/34 – обыкновенные дроби,
12e–2, –0.0345е3 – действительные числа с плавающей точкой (первое число равно 1210–2 = 0,12, второе число равно –.0345103 = –34,5).
3-5*I, 2.4*I, 3e–1+6*I – комплексные числа.
1.4. Операторы
Арифметические операторы:
+ (оператор сложения),
– (оператор вычитания или изменения знака),
* (оператор умножения),
/ (оператор деления),
^ (оператор возведения в степень).
Логические операторы:
< (оператор сравнения "меньше"),
> (оператор сравнения "больше"),
<= (оператор сравнения "меньше или равно"),
>= (оператор сравнения "больше или равно"),
<> (оператор сравнения "не равно"),
= (оператор сравнения "равно"),
and ( логический оператор "и"),
or ( логический оператор "или"),
not ( логический оператор "не").
:= – оператор присваивания (присвоения), например, w1:= sqrt(2); – значение
идентификатора w1 становится равным корню квадратному из 2.
.. (две точки подряд) задает промежуток изменения какого-нибудь параметра.
1.5. Встроенные и библиотечные функции
Распространенные функции (например, синус, косинус логарифмические, корень квадратный и т.д.) встроены в ядро Maple или входят в библиотеку Maple.
Они вычисляются непосредственно: нужно написать имя функции и за ним в
круглых скобках аргумент. Например, sin(2*Pi*x); ln(1+s^2); sqrt(4). Ниже приведены имена некоторых распространенных функций.
sin(x) – синус от х,
cos(x) – косинус от х,
tan(x) – тангенс от х,
cot(x) – котангенс от х.
sinh(x), cosh(x), tanh(x), coth(x) – гиперболические функции.
arcsin(x), arccos(x), arctan(x), arccot(x) – обратные тригонометрические
функции.
ln(x) – натуральный логарифм от х.
log10(x) – десятичный логарифм от х.
log[a](x) – логарифм по основанию а от х.
exp(x) – показательная функция "е в степени х".
sqrt(x) – корень квадратный из х.
signum(x) – сигнум от х. signum(x) = 0, если х=0; signum(x) = 1, если х>0;
signum(x) = –1, если х<0.
abs(x) – модуль числа х.
1.6. Выражения
Выражение – это конструкция языка Maple, построенная по определенным
правилам. Обычно оно составляется из идентификаторов, операторов, скобок,
имен функций. Например, (x+sin(y+2))*exp(x), rrr3 and (x_1 or not(x_1<= rr3 )) –
выражения. Выражение должно заканчиваться либо знаком ‘:’ (двоеточием), либо
знаком ‘;’ (точка с запятой). Если выражение заканчивается "двоеточием", то выражение "выполняется", но результат не появляется на экране. Если выражение
заканчивается знаком "точка с запятой", то выражение "выполняется" и результат
появляется на экране.
1.7. Другие полезные функции
restart – отмена всех действий, произведенных до выполнения этой функции.
evalf(выр) – результат выполнения выражения ‘выр’ выдается в десятичных
дробях.
solve(выр) – “решить” ‘выр’. Например, если ‘выр’ - уравнение, то выдается
его решение.
factorial или ! – факториал.
Digits:=5 – после выполнения этого выражения результаты в виде десятичных дробей выдаются с пятью значащими цифрами. По умолчанию – с 10 значащими цифрами.
subs(x=a, выр) – вычисляет значение ‘выр’ подстановкой в ‘выр’ вместо x
начения a.
symplify(выр); symplify(выр, опции) – эта функция упрощает выражение
выр. В качестве опции полезно использовать symbolic. Тогда упрощение производится чисто символически (без учета области определения функций и т.п.).
Примеры.
> restart;
> Pi; evalf(Pi); exp(1); exp(1.);
Результаты на экране:  3.141592654 e 2.718281828
> Digits:=3; evalf(Pi); xx:=exp(1.);
Результаты на экране: Digits := 3 3.14 xx := 2.72
> 100/3; 100.0/3; 12e-2; 3+4*I; I^2;
Результаты на экране: 100/3 33.3
.12 3 + 4 I
–1
> evalf(100/3); restart; evalf(100/3);
Результаты на экране: 33.3 33.33333333
> g:=sqrt(x^2); simplify(g, assume=real); simplify(g, symbolic);
assume=real означает, что упрощение производится в области действительных
чисел.
Результаты на экране: g := x 2
signum(x) x
x
> subs(x=2, x^6+3*x-50); – вычисляет значение выражения x6+3x–50 при x=2.
Результат на экране: 20
> restart; – забыть все проведенные до сих пор действия.
Знак = используется в уравнениях, например, x*y–y^2=5*x. Знак := означает
присвоение значений, выражений идентификаторам.
> ur:=x^2+3*x+2=0; – уравнению x2 +3x+2 = 0 дано имя ur.
Результат на экране: ur := x2 + 3 x + 2 = 0
> solve(ur); – решить уравнение ur.
Результаты на экране: –2, –1
> x:=Pi/4; sin(x); cos(x); tan(x); cot(x);
Результаты на экране: x :=
1

4
1
2
1
2
2
2
1
1
> x:=1; arcsin(x); arccos(x); arctan(x); arccot(x);
Результаты на экране: x := 1
1

2
0
1

4
1

4
> x:=2; exp(x); e:=exp(1);l n(x); evalf(log10(x)); log[2](x);
Результаты на экране: x := 2 e2 e := e ln(2) .3010299957
> z:=–9; zm:=abs(z); sqrt(z); sqrt(zm);
Результаты на экране: z := –9
zm := 9
3I
3
> factorial(5); 5!;
Результаты на экране: 120
120
> signum(0); signum(-2.5); signum(1234.780);
Результаты на экране:
0
–1
1
1
1.8. Задание пользовательских функций
Пользователь может задать свою функцию при помощи следующей конструкции:
>fff:=x–>x^2-4*x+5; Здесь fff – имя функции, выбранное пользователем.
Результат на экране: fff :=x–>x2 – 4x +5
В дальнейшем fff является именем функции, т.е. fff(x)=x2–4x+5. Например, после
выполнения команд
> fff(4); fff(y);
на экране появятся результаты:
5
y2 – 4 y + 5
> r:=(x,y,z) –>x*(y-2)*sqrt(z); – определяет функцию r от трех переменных x, y, z.
Результат на экране: r := (x, y, z) –>x (y–2) z
> r(v,w,u); r(1,5,4);
Результаты на экране: v (w – 2) u
6
1.9. Логические операции
> x1:=true; x2:=false; x3:=x1 or x2;
> x:=111; y1:= (x<120) and (x>100);
Результат на экране: x1 := true
x2 := false
x := 111
y1 := true
x3 := true
2. РЕШЕНИЕ ЗАДАЧ МАТЕМАТИЧЕСКОГО АНАЛИЗА
2.1. Вычисление пределов.
Предел выражения f(x) при x a вычисляется с помощью функции
limit(f(x), x=a);
Примеры. Вычислить предел
sinx
lim .
x0 x
Решение. Выполним команду
> limit(sin(x)/x, x=0);
Результат на экране:
1
Вычислить пределы
lim e x
x
,
lim e x
x
,
1
1
lim .
,
x00 x
x00 x
lim
> limit (exp(x), x=infinity); limit(exp(x), x= –infinity);
>limit(1/x, x=0, left); - вычисление предела слева.
>limit(1/x, x=0, right); – вычисление предела справа.
Результаты на экране: 
0
–

lim x
Вычислить предел
.
> a1:=limit(x^(1/3), x=8); evalf(a1); Результаты на экране:
Вычислить предел lim x .
3
x8
81 / 3
2
3
x8
> limit(x^(1/3), x= –8); Результат на экране:
11/3 1 1/3
8  I8 3
.
2
2
Результат получился неправильным, потому что при х<0 Maple в качестве значения x^(1/3) выдает комплексное значение. Поэтому лучше x^(1/3) записать как
signum(x)*abs(x)^(1/3).
> a3:=limit(signum(x)*abs(x)^(1/3), x= –8); evalf(a3);
Результаты на экране: a3 := –81/3
–2
Теперь предел вычислен правильно.
Вычислить предел
x3
3
x2
lim
.
2
x


1(
x x2
)2
> y:=(x^3-3*x-2)/(x^2-x-2)^2; limit(y, x=-1);
Результаты на экране:
3
x

3
x
2
y
:
 2
(x 
x
2
)2
1
3
2.2. Дифференцирование
Для вычисления производной функции можно воспользоваться функцией diff
или оператором D.
2.2.1. Использование функции diff
Если v – выражение, содержащее х, то diff(v, x) находит производную первого порядка от v по переменной х.
Пример.
> f:=sin(3*x)^2;– задает выражение f.
> d1:=diff(f, x); – находит производную первого порядка выражения f.
> d2:=diff(f, x$2); – находит производную второго порядка выражения f.
> d3:= diff(f,x$3); – вычисляет производную третьего порядка выражения f.
Результаты на экране: f := sin(3 x)2
d1 := 6 sin(3 x) cos(3 x)
2
2
d2 := 18 cos(3 x) – 18 sin(3 x)
d3= –216 sin(3 x) cos(3 x)
2.2.2. Использование оператора D
D(f) - вычисляет производную первого порядка функции f,
(D@@n)(f) - вычисляет производную n-го порядка функции f.
Заметим особо, что f – символ функции без аргумента.
> D(sin); – находит производную функции sin. Результат на экране: cos
> D(sin)(x); – находит значение производной функции sin в точке x.
Результат на экране: cos(x)
> D(sin)(Pi/4); – находит значение производной функции sin в точке π/4.
Результат на экране:
1
2
2
> D(sin(x)); – это неправильно, так как sin(x) не является символом функции.
Результат на экране: D(sin(x)) (команда не выполнена)
> (D@@3)(sin); – находит третью производную функции sin.
Результат на экране:
–cos
> (D@@6)(sin)(t); – находит шестую производную функции sin в точке t.
Результат на экране: –sin(t)
Оператор D удобен особенно, когда нет стандартных символов для обозначения функции, например, для степенных, показательных функций: xn, ax. В таких
случаях можно самим определять функцию. Рассмотрим пример.
> fun:=x–>(x^3+2^x+5)/x^2; – определяет символ fun функции
fun(x) =(x3+2x+5)/x2.
Результат на экране:
3
x
x

2

5
fun
:

x
2 .
x
> D(fun); – находит производную функции fun.
Результат на экране:
2 x
3 x
3
x

2
ln(
2
) x

2

5
x


2
2
3 .
x
x
> pp5:=(D@@4)(fun); – находит четвертую производную функции fun.
x
2x
3
x
6
x

2
ln(
2
)3
x

2
ln(
2
)x

2

5


43 
6
Результат на экране: pp:= x
2
4
x
x
x
Этот результат можно упростить:
>simplify(pp(x)); Результат на экране:
2
x
2
x
x
x
2
ln(
2
)

4
x
2
ln(
2
)

6
2

30
4
x
2.3. Интегрирование
2.3.1. Нахождение неопределенного интеграла
Для нахождения интегралов в Maple есть функция int. Для нахождения неопределенного интеграла от функции f(x) нужно выполнить команду int(f(x), x);
Задача. Найти неопределенный интеграл 
2x dx
1 2x
.
> i1:=int((2^x)/sqrt(1-2^x), x); – находит неопределенный интеграл и результату
присваивает имя i1.
Результат на экране:
i1
:
2
x
12
ln(
2
)
2.3.2. Вычисление определенного интеграла
b
Для вычисления определенного интеграла  f (x)dx нужно выполнить коa
манду int(f(x), x=a. .b);
1
lnx
Примеры. Вычислить интеграл 12x dx.
0
> i2:=int(ln(x)/(1-x^2), x=0. .1); – вычисляет интеграл и результат обозначается i2.
Результат на экране:
1
i2: 2
8

cos
2x
dx
.
2
0 x 1
Вычислить интеграл 
> i3:=int(cos(2*x)/(x^2+1), x=0. .infinity); – вычисляет несобственный интеграл.
Результат на экране:


1
1
i
3
:

sinh(
2
)
cosh(
2
)
2
2
В заключении покажем, как можно упростить этот результат.
> simplify(convert(i3, exp)); – сначала “сворачивает” гиперболические синус и косинус в exp и упрощает. Результат на экране:
1
 e(2) .
2
3. РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОЙ АЛГЕБРЫ
3.1. Пакеты расширения
Кроме основной части Maple, имеется расширение, которое имеет множество
пакетов специализированных функций. Каждый пакет содержит функции для решения задач по определенной теме. В этом пункте мы познакомимся с пакетом
расширения linalg функций для решения задач линейной алгебры. Для того чтобы
можно было использовать функции расширения, нужно пакет присоединить с помощью команды with(linalg). Если после этой команды поставить знак ";", то на
экране монитора появится список всех функций пакета, а если поставить знак ":",
то этот список не выдается.
> with(linalg): – присоединение пакета функций линейной алгебры.
3.2. Распространенные функции для действий над матрицами
Задание матриц. Матрицы можно задать при помощи функции matrix.
> A1:=matrix([[5,4,2],[-2,1,-1],[1,6,3]]); – задает матрицу А1 размерности 33. Во
внутренних квадратных скобках задаются элементы строк.
Результат на экране:
 5 4 2

A
1:2 1 1



 1 6 3

> B1:=matrix([[a,b,c]]); – задает матрицу-строку (размерность 13).
Результат на экране: B1 := [a b c]
> C1:=matrix([[d], [s], [t]]); – задает матрицу-столбец (размерность 31).
Результат на экране:
d 
С 1 :  s 
 
 t 
Матрицу-столбец можно задать функцией vector:
> C1:=vector([d,s,t]); Результат на экране: C1 := [d, s, t]
Матрицу размерности mхn можно задать, указав размерность как аргумент
функции matrix, в этом случае не нужны внутренние квадратные скобки:
matrix(m, n, [x, y, ... , z]) (в квадратных скобках перечисляются построчно все
элементы матрицы). Например,
> A1:=matrix(3, 3, [5, 4, 2, -2, 1, -1, 1, 6, 3]); C1:=matrix(3, 1, [d, s, t]);
Результат на экране:
 5 4 2

A
1:2 1 1



 1 6 3

d 
С 1 :  s 
 
 t 
Умножение матрицы А размерности mk на матрицу В размерности kn
можно выполнить двумя способами: multiply(A,B); или evalm(A &* B); (здесь &*
– знак умножения матриц).
Для примера умножим матрицы А1 и С1.
> M1:=multiply(A1,C1)=evalm(A1 &* C1);
Результат на экране:
5
d

4
s

2
t
5
d

4
s

2
t







M
1
:


2
d

s

t

2
d

s

t







d

6
s

3
t
d

6
s

3
t

Функция det(A) вычисляет определитель квадратной матрицы.
> det(A1); – вычисляет определитель квадратной матрицы A1.
Результат на экране: 39
3.3. Решение матричных уравнений
Пусть дано матричное уравнение AX=B, где A – квадратная матрица размерности n  1, B – матрица размерности nk, X – неизвестная матрица размерности
nk. Пусть A – невырожденная матрица (т.е. det(A)  0), тогда существует единственное решение этого уравнения. Решение можно найти по формуле X=A–1B
Пример. Найти решение матричного уравнений AХ=В, где
10 0 
2 2
1


A 1 1 3 , B   2 5 .






 2 5 0

 1 4

Сначала зададим матрицы A, B:
> A:= matrix(3, 3, [1, 2, 2, -1, -1, 3, 2, 5, 0]); B:=matrix(3, 2, [10, 0, -2, 5, 1, 4]);
Проверим существование и единственность решения:
> det(A); результат на экране
–9. Матрица A невырожденная, значит, решение
существует и единственно. Найдем его:
> A1:=inverse(A); – вычисляет обратную матрицу A1 матрицы A (можно еще
A1:=evalm(1/A);)
Результат на экране:
 5 10 8
3
9
9
 2
4
5
A1: 

9
9
3
1
1
1

9
9
3

> X:=multiply(A1, B); – находит решение уравнения АХ=В.
Результат на экране:
 82 

18

9 

40 

X :   7
9 

1 
 3

9 
Аналогично решается матричное уравнение XA=B, где A – квадратная матрица размерности n  1, B – матрица размерности kn, X – неизвестная матрица
размерности kn. Если A – невырожденная матрица, то существует единственное
решение X=BA–1.
Пример. Найти решение X матичного уравнений XA=C, где матрица А из
предыдущей задачи,
10
0
2


С

5 1 4.


> A:= matrix(3,3, [1,2,2,-1,-1,3, 2,5,0]); С:=matrix(2,3, [10,0,-2,5,1,4]);
> A1:=inverse(C); – вычисляет обратную матрицу A1 матрицы A.
> X:=multiply(C, A1); – находит решение уравнения XА=C.
 34 26

16 3
3
X
:



Решение на экране:
14 13
9

3
3 

В общем случае (когда A – вырожденная матрица, или A – не квадратная
матрица) матричное уравнение АХ=В можно решить при помощи функции
linsolve:
> X:=linsolve(A, B);
Результат на экране:
 82 

18

9 

40 

X :   7
9 

1 
 3

9 
3.4. Решение систем линейных уравнений (СЛУ)
СЛУ можно представить в виде матричного уравнения AX=B, где А – матрица размерности mn из коэффициентов при неизвестных x1, x2, ... , xn, B – матрица-столбец с m элементами свободных членов СЛУ, X – матрица-столбец с n элементами. Матрицу B можно задавать функциями matrix(m, 1, [b1, b2, ... , bm]) или
vector([b1, b2, ... , bm]). СЛУ решается функцией linsolve(A,B,'r',c), где r – пере-
менная, которой присваивается ранг матрицы A, а переменной с с индексами присваивается значения свободных неизвестных. Если A – квадратная и невырожденная матрица, то можно просто задать команду linsolve(A,B) (см. пункт 3.3).
Пример. Решить СЛУ
,
 xyzt6

2x2yz3
t2
,

3
.
 xy2zt8
Решение. Введем матрицы A и B:
> A:= matrix(3, 4, [1, 1, 1, 1, 2, -2, 1, 3, 3, -1, 2, -1]); B:=vector([6, 2, 8]);
Находим решение X системы линейных уравнений и вычисляем ранг системы r:
> X:=linsolve(A, B, 'r',c); rg:=r;
Результат на экране:
 4 3с[1][1]


с[1][1]

X : 
10 4с[1][1] 


0


rg:=3
Пояснение. Таким образом общее решение имеет вид: x =–4+3c[1][1], y= c[1][1],
z = 10 – 4c[1][1], t = 0, где c[1][1] – произвольная постоянная. Ей можно задавать
произвольные действительные значения. При каждом значении c[1][1] получается
частное решение, например, при c[1][1] = 3 получается частное решение
x = 5, y= 3, z = –2, t = 0.
4. ПОСТРОЕНИЕ ГРАФИКОВ ФУНКЦИЙ
4.1. Построение графика явной функции y=f(x)
График функции y=f(x) на отрезке [a, b] можно построить с помощью функции plot(f(x), x=a..b, y=c..d, опции). Опции не обязательны, однако, для изменения свойств графика нужно задавать опции. Параметр у=c..d можно не задавать,
тогда высота графика выбирается по умолчанию. Построим график функции
y=sinx на отрезке [–, ].
> plot(sin(x), x= –Pi. .Pi); plot(sin(x), x= –Pi. .Pi,y= –2..2);
Рис. 4.1
Рис. 4.2
Результаты приведены на рис. 4.1 и 4.2.
Рассмотрим некоторые опции.
color='цвет' задает цвет графика. В качестве параметра 'цвет' могут быть: black
– черный, blue – голубой, brown – коричневый, green – зеленый, red – красный,
yellow – желтый и т.д.
scaling=CONSTRAINED – задает одинаковый масштаб по осям x и y. По умолчанию UNCONSTRAINED.
style='тип линии' задает вид линии графика. В качестве параметра 'тип линии'
могут быть: LINE – рисование непрерывной линией, POINT – рисование точками.
symbol='тип точки' задает тип точки при рисовании точками (т.е. когда задана
опция style=POINT). Параметром 'тип точки' могут быть: BOX – рисование
квадратиками, CROSS – рисование крестиками, CIRCLE – рисование кружочками, POINT – рисование точками, DIAMOND – рисование ромбиками.
Рис. 4.3
Рис. 4.4
thicrness=n задает толщину непрерывной линии (n = 1..15).
> plot(sin(x),x=-Pi..Pi, color=blue, style=POINT, symbol=circle);
Результат см. на рис 4.3.
> plot(sin(x), x=-Pi..Pi, color=blue, thickness=3, scaling=CONSTRAINED);
Результат см. на рис 4.4.
4.2. Построение графика функции в параметрической форме
Пусть функция y=y(x) задана параметрически: x=g(t), y=h(t), t=a..b. Для построения графика этой функции нужно задать команду
plot([g(t), h(t), t=a..b], опции).
Пример. Построить график функции, заданной параметрически x=2cost,
y=sint, –  t  .
Решение. > plot([2*cos(t), sin(t), t=-Pi..Pi], color=blue,thickness=2, scaling=
CONSTRAINED); Результат см. на рис. 4.5.
4.3. Построение графиков нескольких функций
Задача. Построить графики трех функций y=sinx, y=cosx, y=x2/5 –1 на отрезке
[–, ].
Решение.
> plot([sin(x), cos(x), x^2/5–1], x=-Pi..Pi, y=-1.5..1.5, color=[red, blue, green], style=
[point, line, line], scaling=CONSTRAINED);
Результат
приведен на
рис.
4.6.
4.
Рис 4.5
Рис 4.6
4. Построение кривой, заданной уравнением
Кривую на плоскости, заданную уравнением f(x, y)=0 можно начертить с помощью функции implicitplot из пакета расширения plots. Эта функция задается в
виде implicitplot(f(x,y)=0, x=a..b, y=c..d, опции).
Задача. Начертить кривую, заданную уравнением x2+y2+xy+4x–2y+1=0.
Решение.
> with(plots): – присоединение пакета plots.
> ur:=x^2+y^2+x*y+4*x-2*y+1=0; – заданному уравнению присвоено имя ur.
> implicitplot(ur, x = –7. .0, y=–1. .6, color=blue, thickness=2,
scaling=constrained);
Результат приведен на рис. 4.7. Кривой оказался эллипс. Отрезки [–7, 0] и [–1, 6]
изменения x и y подобраны “методом проб”.
Рис. 4.7
Рис. 4.8
4.4. Построение кривых в полярной системе координат
Для построения графика в полярных координатах нужно задать изменение
значений полярного радиуса и полярного угла. Пусть r = r(f) (a  f  b) – зависимость полярного радиуса r от полярного угла f. Тогда график этой функции в полярных координатах можно построить, задав у функции plot опцию coords=polar.
Задача. Построить в полярных координатах график функции
r = 3(1–cos), 0   < 2.
Решение.
> plot(3*(1-cos(f)), f=0. .2*Pi, coords=polar, thickness=2);
Результат приведен на рис. 4.8 (эта кривая называется кардиоидой).
Задача. Построить в полярных координатах
графики трех функций
r = 6cos, r=, r=2sin, 0   < 2.
Решение.
> plot( [6*cos(f), f, 2*sin(f)], f=0. .2*Pi, coords =
polar, thickness=2, color=[blue, red, green],
scaling=CONSTRAINED);
Результат приведен на рис. 4.9.
Рис. 4.9
5. ОБРАЗЕЦ ВЫПОЛНЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ
ln(
3

2
x
)
5.1. Найти предел Вычислить предел
2

x
)
2xln(
.
lim


x

1
 x 
Решение.
> y:=( (2-x) / x)^(ln(3+2*x) /l n(2-x) ); p:=limit(y, x=1);
ln(
3
2x)
Результаты:
2x)
2xln(
y:= 


 x 
p:=25
5.2. Найти производные 1-го и 2-го порядков функции y=ex (cos2x–3sin3x).
Вычислить y().
Решение.
> y:=exp(x)*( cos(2*x) – 3*sin(3*x) );
Результат: y := ex (cos(2 x) – 3 sin(3 x))
Найдем производную 1-го порядка:
> p1:=diff(y, x);
Результат: p1 := ex (cos(2 x) – 3 sin(3 x)) + ex (–2 sin(2 x) – 9 cos(3 x))
Найдем производную 2-го порядка:
> p2:=diff(y, x$2);
Результат: p2 := ex (cos(2 x) – 3 sin(3 x)) + 2 ex (–2 sin(2 x) – 9 cos(3 x)) +
ex (–4 cos(2 x) + 27 sin(3 x))
Упростим результат:
> pp2:=simplify(p2);
Результат: pp2 := -3 ex cos(2 x) + 24 ex sin(3 x) - 4 ex sin(2 x) - 18 ex cos(3 x)
Вычислим значение y():
> pp1:=subs(x=Pi, p1);
Результат: pp1 := e (cos(2) –3sin(3) + e (–2 sin(2) – 9 cos(3))
Упростим результат:
> simplify(pp1);
Результат: 10 e
2
arctg
2
5.3. Вычислить интеграл
1
dx
.
x
(
1

sin
x
)
2 sin

Решение.
> u:=1/( sin(x)*(1+ sin(x)) );
Результат:
1
u
:

sin(
x
)(
1

sin(
x
))
Вычислим интеграл от функции u:
> i1:= int( u, x=Pi/2. .2*arctan(2) );
Результат:
i1 := ln(2) –
1
3
5.4. Решить матричное
5
2
4
7
4
2

 





X


25
2
уравнение... 0 3 0
.
 


 



22 7
0 0 9



Решение.
> with(linalg): – присоединили пакет linalg.
Введем матрицы A и B:
> A:=matrix([[5,-2,-4],[0,3,0],[-2,2,7]]); B:=matrix([[7,-4,-2],[-2,5,-2],[0,0,9]]);
Результат на экране:
5
2

4




A
:

030





227


7
4

2




B
:


2
5
2




009


Вычислим определитель матрицы A и найдем ее обратную матрицу A1:
> det(A); A1:=inverse(A);
Результаты на экране:
81
2
4
7
27 27 27


1
A1:  0
0
3


2

2
5


27 27 27
Найдем решение X матричного уравнения:
> X:=multiply(A1, B);
Результат на экране:
 5 2 2 
3
3
3
 2 5  2

X : 
3
3
3
 2 2 5 
 3
3
3 
5.5. Решить систему линейных уравнений (СЛУ)
Решение.
> with(linalg): – присоединили пакет linalg.
x5
y2
z9
t4
,


t3
,
x2yz6

2
x3
yz3
t7
.

Введем матрицу A системы и матрицу B свободных членов СЛУ:
> A:=matrix([[1, -5, -2, 9], [1, 2, 1, -6], [2, -3, -1,
3]]); B:=vector([4, 3, 7]);
Результаты на экране:
1

5

2
9




A
:

13 1

6


2

3

1
3






B
:

4
,3
,7
Найдем решение СЛУ в виде матрицы X:
> X:=linsolve(A, B, 'r', c); rang:=r;
Результаты на экране:
X := [c[2], 3c[2]–10–3c[1], –7c[2] +23 + 12 c[1],
c[1] ]
rang := 2
5.6. Построить график функции
Рис. 5.1
3
x

27
x

54
y
и
3
x
найти приближенно
все ее корни.
Решение.
Определим функцию у:
> y:=(x^3 – 27*x + 54) / x^3;
Результат на экране:
3
x

27
x

54
y
:

3
x
Строим график, подбирая подходящие отрезки задания значений для x и y:
> plot(y1, x= –10. .10, y= –10. .10);
По графику (рис. 5.1) видно, что функция имеет два корня. Они приближенно
равны –6 и 3.
6. ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
6.1. Найти пределы.
1)
3)
5)
x

13

2x

1
lim
3 2
x

3
x
3
x
e e
lim 2
x
1arctg
(x 
1
)
12
1
lim
arctg
sin
x

5
cos
x


x
x
x
2
lim
ctg
(arcsin
5
x
)
7) x
0

0
2)
x
sin
x
lim
x

0
1

cos(
x

3

)
4)
2


2
lim
1

sin


x


x


6)
2
 arctg
x


lim
2 
arcsin
x
0
x

2
1
ln(
1

tg
(
3
/x
)
)
1x2
lim
tg
(arcsin
2
(
x


)
)
8) x



0
x
2
6.2. Найти производные 1-го и 2-го порядков с помощью функции diff и оператора D (результаты упростить). Вычислить указанные значения.
1)
3)
3
x
x

y

, y
(2
).
2
x

2
2
1sin
40
x

y

cos

,y
(
0
).
3
40
cos
80
x
2)
2

y

x
arctg
x

ln
1

x
,y
(
3
).
4)
ln
cos
2
x

y

cos
2
x
,y
().

6.3. Найти интегралы (при необходимости результаты упростить).
xcos
x
2
arcsin
x
1
d
x
.
2
1

x
1)  3 dx.
sinx
3)
1
arccos
6

0
2) 
2
x
3
x
5
d
x.
4
16
0 x
4) 
2
3
tgx1 .
d
x
2
tg
x5
6.4. Решить матричные уравнения.
1)
0
1
4
1
1
4








0 1 5X

23
5
.









2
2
3
3

3
2




2)

100
2
42







X3 4 5


1
5
3
.








2

3
4
3
0
1



6.5. Решить системы линейных уравнений.
1)
x3
yz3
t
1
,
3

y4
z
9
,
x2

2
xy5
z3
t
8
.

2)
y2
zt
10
,
x3

x3
yz4
t 5
,.

2
yzt2
.
 x5
6.6. Построить графики функций и найти приближенно все ее корни.
1)
2
3
y

3
(
x

4
)

2
x

8
.
2)
x
6
y
ln

1
.
x
3)
y
x3 4
x2
.
6.7. Построить графики функций, заданных параметрически.
1)
x
cos
t
sin
t,


y
sin
2
t.

2)
t,
xln

t.
yarctg
3)

x t2 1
,


y

ln
t
.

6.8. Построить кривые, заданные уравнениями.
1)
2 2
2 2 2
(
x

y

4
x
)

x

y
.
2)
2
2
x3 y3 1.
3)
2
2
2
2
x
((
x

1
)

y
)

y
.
6.9. Построить кривые в полярной системе координат.
1)
r
22
|cos
2

|
2)
r2|sin
2
|.
3)
r6cos
1.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Говорухин В.Н., Цибулин В.Г. Введение в Maple V. Математческий пакет для
всех. – М.: Изд-во “Мир”, 1997. – 208 с.
2. Дьяконов В.П. Математическая система Maple V R3/R4/R5. – М.: Изд-во
“Cолон”, 1998. – 400 с.
3. Прохоров Г.В. и др. Пакет символьных вычислений Maple V / Г.В. Прохоров,
М.А. Леденев, В.В. Колбеев. – М.: Изд-во “Петит”, 1997. – 200 с.
Кафедра « Электрорадиотехника и информатика »
Новиков В.М.
«Прикладные математические пакеты - MAPLE (часть 1)»
Учебно-методическое пособие для студентов заочной формы обучения специальностей 080507 «Менеджмент организации» и 080109 «Бухгалтерский учет и аудит»
Подписано в печать 09. 02.11
Печать ротапринтная. Усл.п.л. 1,8, уч.-изд.л. 2.
Тираж 40 экз.
Издательство КМВИС ГОУ ВПО «ЮРГУЭС»
357500, г. Пятигорск, Ставропольский край, бульвар Гагарина1, корпус 1.
Download