Методы решения математических задач в Maple
Если задать конкретное значение переменной х, то получится значение функции f для этого х. Например, если продолжить предыдущий пример и вычислить значение f при x = π/ 4 , то следует записать:
> x:=Pi/4;
x := π4
> f;
2
После выполнения этих команд переменная х имеет заданное значение π/ 4 .
Чтобы насовсем не присваивать переменной конкретного значения, удобнее использовать команду подстановки subs({x1=a1, x2=a2,…, },f), где в фигурных скобках указываются переменные хi и их новые значения аi (i=1,2,…), которые следует подставить в функцию f . Например:
> f:=x*exp(-t);
f:= xe(−t)
>subs({x=2,t=1},f);
2e(−1)
Все вычисления в Maple по умолчанию производятся символьно, то есть результат будет содержать в явном виде иррациональные константы, такие как, e, π и другие. Чтобы получить приближенное
значение в виде числа с плавающей запятой, следует использовать команду evalf(expr,t), где expr – выражение, t – точность, выраженная в числах после запятой. Например, в продолжение предыдущего примера, вычислим полученное значение функции приближенно:
> evalf(%);
.7357588824
Здесь использован символ (%) для вызова предыдущей команды. Способ 2. Определение функции с помощью функционального
оператора, который ставит в соответствие набору переменных (x1,x2,…) одно или несколько выражений (f1,f2,…). Например, определение функции двух переменных с помощью функционального оператора выглядит следующим образом:
> f:=(x,y)->sin(x+y);
f := sin(x + y)
16
Методы решения математических задач в Maple
Обращение к этой функции осуществляется наиболее привычным в математике способом, когда в скобках вместо аргументов функции указываются конкретные значения переменных. В продолжение предыдущего примера вычисляется значение функции:
> f(Pi/2,0);
1
Способ 3. С помощью команды unapply(expr,x1,x2,…), где expr – выражение, x1,x2,… – набор переменных, от которых оно зависит, можно преобразовать выражение expr в функциональный оператор. Например:
> f:=unapply(x^2+y^2,x,y);
f := (x, y)− > x2 + y2
> f(-7,5);
74
В Maple имеется возможность определения неэлементарных функций вида
f |
|
(x), x < a |
|
|
|
1 |
1 |
< a |
|
f |
2 |
(x), a < x |
2 |
|
f (x) = |
1 |
|
||
........................ |
|
|||
|
|
|
|
|
|
|
(x), x > an |
|
|
fn |
|
|
||
посредством команды
> piecewise(cond_1,f1, cond_2, f2, …).
Например, функция
0, x < 0
f (x) = x, 0 ≤ x <1sin x, x ≥1
записывается следующим образом:
> f:=piecewise(x<0, 0, 0<=x and x<1, x, x>=1, sin(x));
0 |
x < 0 |
|
−x ≤ 0 and x −1 < 0 |
f := x |
|
|
1 ≤ x |
sin x |
17
Методы решения математических задач в Maple
Задание 1.
Не забудьте, что выполнение всех последующих заданий должно начинаться с текстовой строки, содержащей «Задание №», где № – номер задания. Также помните, что для правильности вычислений перед выполнением каждого пункта задания следует выполнять команду restart. Перед выполнением контрольных заданий следует набирать в текстовом режиме «Контрольные задания». Эти правила оформления относятся ко всем лабораторным работам.
1.Запустите Maple. Переведите первую строку в текстовую и наберите в ней: «Лабораторная работа №2». Нажмите Enter. Строкой ниже наберите: «Выполнил студент ...» и свою фамилию, а на следующей строке наберите: «Задание №1».
2. Определите |
функцию f = |
1 − x2 − y2 |
и перейдите |
в ней к |
полярным |
координатам |
x = ρcos ϕ , |
y = ρsin ϕ . |
Упростите |
полученное выражение. Для этого наберите: |
|
|||
> f:=sqrt(1-x^2-y^2); |
|
|
||
f=
1 − x2 − y2
>f:=subs({x=rho*cos(phi),y=rho*sin(phi)},f);
f=
1 −ρ2 cos(φ)2 −ρ2 sin(φ)2
>f:=simplify(%);
f =
1 −ρ2
x, x < −1
3. Определите функцию f (x) = − x2 , −1 ≤ x <1 и прибавьте к ней х.
− x, x ≥1
Для этого наберите:
> f:=piecewise(x<-1, |
x, -1<=x and x<1, -x^2, x>=1, |
|
-x); |
|
|
x |
|
x < −1 |
|
2 |
−1 − x ≤ 0 and x −1 < 0 |
f := − x |
||
− x |
|
1 ≤ x |
|
|
|
> %+x: simplify(%);
18
Методы решения математических задач в Maple
2x |
x < −1 |
|
|
− x2 |
x ≤1 |
x |
||
0 |
|
1 < x |
|
|
|
§2. Операции оценивания
Оценивание вещественных выражений.
В Maple имеются следующие команды оценивания вещественных выражений:
frac(expr) – вычисление дробной части выражения expr; trunc(expr) – вычисление целой части выражения expr; round(expr) – округление выражения expr;
Оценивание комплексных выражений.
Вещественную и мнимую части комплексного выражения z=x+iy можно найти с помощью команд Re(z) и Im(z). Например:
>z:=3+I*2:
>Re(z);Im(z);
3, 2
Если z=x+iy, то комплексно сопряженное ему выражение w=z*=x–iy можно найти с помощью команды conjugate(z). Продолжение предыдущего примера:
w:=conjugate(z);
w:=3–2 I
Модуль и аргумент комплексного выражения z можно найти с помощью команды polar(z), которую необходимо предварительно вызвать из стандартной библиотеки командой readlib. Например:
> readlib(polar): polar(I); polar 1, 12 π
В строке вывода в скобках через запятую указаны модуль числа i, равный единице и его аргумент, равный π/ 2 .
Если комплексное выражение очень сложное или содержит параметры, то команды Re(z) и Im(z) не дают требуемого результата. Получить вещественную и мнимую части комплексного выражения z можно, если использовать команду преобразования комплексных выражений evalc(z). Например:
> z:=ln(1-I*sqrt(3))^2;
19
Методы решения математических задач в Maple
z := ln(1 − I
3)2
> evalc(Re(z)); evalc(Im(z));
14 ln(4)2 − 19 π2 − 13 ln(4)π
Задание 2.
1.Дано число а=57/13. Найти его целую часть x и дробную часть y и убедиться, что a=x+y. Наберите:
>a:=57/13:
>y:=frac(a);
5
13
> x:=trunc(a);
4
> x+y;
57
13
2. Дано комплексное число z = 12+−43ii + i6 . Найти его вещественную
и мнимую части, а затем комплексно сопряженное ему число w и убедиться, что w+z=2Re(z).
Вкомандной строке наберите:
>z:=(2-3*I)/(1+4*I)+I^6:
>Re(z); Im(z);
−1727
−1711
>w:=conjugate(z);
w := −1727 + 1711 I
> z+w;
− 1754
20