|
1 |
5 |
|
-1 |
||||||
|
|
|
|
|
|
|
|
|
|
|
8 |
24 |
24 |
||||||||
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
-5 |
-1 |
|
5 |
|
|
||||
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
A1 := |
8 |
24 |
24 |
|
||||||
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
-1 |
|
-1 |
|
|
|||
|
|
|
|
|||||||
|
24 |
8 |
|
24 |
|
|||||
|
|
|
||||||||
Умножение матриц использует специальный символ &*
> evalm(A&*A1);
1 |
0 |
0 |
|
|
|
|
|
|
0 |
1 |
|
|
0 |
||
|
0 |
0 |
|
|
1 |
||
То же самое можно найти командой
> multiply(A,A1);
Одной из важнейших задач линейной алгебры является решение систем линейных алгебраических уравнений (СЛАУ).
Пусть требуется решить систему уравнений Ax = b, где
5
матрица A введена ранее, а вектор правых частей b равен 6 .
1
Сначала осуществим ввод вектора b одним из способов:
>b:=matrix(3,1,[5,6,1]); # вводится вектор-столбец
или
>b:=vector([5,6,1]); # вводится вектор-строка
или даже так:
> b:=[5,6,1]; # вводится также вектор-строка
а) решение линейной системы с помощью функции linsolve
> linsolve(A,b);
|
11 |
-19 3 |
|
||||
|
|
, |
|
|
, |
|
|
6 |
6 |
|
2 |
||||
|
|
|
|
|
|||
б) решение линейной системы с помощью обратной матрицы
> multiply(inverse(A),b);
в) решение линейной системы методом Гаусса
Вводим расширенную матрицу:
> Z:=matrix([[2,1,3,5],[5,1,0,6],[7,8,9,1]]);
11
>rref(Z);
Впоследнем столбце результата – решения системы.
Зададим векторы u и v:
>u:=[2,3,5]; v:=[-2.3,4,10];
Скалярное произведение векторов:
>dotprod(u,v);
57.4
Векторное произведение:
> crossprod(u,v);
[10, -31.5, 14.9]
Угол между векторами в радианах:
>psi:=angle(u,v);evalf(psi);
:= arccos(0.1371563117 38 )
|
|
|
|
0.5633174125 |
|
|
|
|
|
||||
|
Задания для самостоятельной работы |
|
|
|
|||||||||
1. Вычислить: |
|
|
|
|
|
|
|
|
|
|
|
||
2 |
1 2 |
|
3 |
1 |
2 |
|
|
2 3 |
2 |
1 |
0 |
||
|
|
|
|
|
|||||||||
а) |
1 |
|
|
0 |
3 |
4 |
|
; б) |
|
|
7 |
1 |
. |
0 |
4 |
|
1 |
2 |
2 |
|
|
1 1 |
4 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|||
2. Решить СЛАУ: а) методом Гаусса; б) с помощью обратной матрицы; в) с помощью функции linsolve:
2x |
x |
3x |
1, |
||
|
1 |
2 |
|
3 |
|
|
x1 |
4x2 |
|
2x3 |
5, |
|
3x |
2x |
|
x |
2. |
|
1 |
2 |
|
3 |
|
3. Для матрицы системы из задачи 2 найти определитель, транспонированную матрицу, след, ранг.
4. Для векторов p {2, 1, 4}, q { 3, 2, 2} , r {2, 1, 1}
найти смешанное и двойное векторное произведения.
12
4. Операции математического анализа
4.1. Д и ф ф е р е н ц и р о в а н и е
Вычисление производной функции x2 arctg(x – 2) может быть оформлено через функцию diff:
> diff(x^2*arctan(x-2),x);
2 x arctan( x 2 ) x2
1 ( x 2 )2
Обратите внимание на следующую возможность вывода результата (слева так называемая инертная форма функции):
> Diff(x^2*arctan(x-2),x)=diff(x^2*arctan(x-2),x);
d |
|
( x2 arctan( x 2 ) ) 2 x arctan( x 2 ) |
x2 |
|
dx |
1 ( x 2 )2 |
|||
|
||||
Рекомендуется сначала набрать и запустить на выполнение левую половину выражения (с функцией Diff), чтобы проверить правильность исходной функции, а затем скопировать ее через буфер обмена и заменить в правой половине D на d.
Производная восьмого порядка:
> Diff(x^2*ln(x-2),x$8)=diff(x^2*ln(x-2),x$8);
d8 |
|
( x2 ln( x 2 ) ) |
6720 |
|
11520 x |
|
5040 x2 |
|
dx8 |
( x 2 )6 |
( x 2 )7 |
( x 2 )8 |
|||||
|
|
|
||||||
Можно попытаться упростить этот результат:
> simplify(");
d8 |
( x2 ln( x 2) ) |
240 ( x2 16 x 112) |
|
dx8 |
( x 2)8 |
||
|
Частная производная по x функции двух переменных cos(x/y + 1) x2y:
> diff(cos(x/y+1)*x^2*y,x);
x |
|
2 |
x |
|
||
sin |
|
1 x 2 cos |
|
1 x y |
||
|
|
|||||
y |
|
|
y |
|
||
Частная производная по x 2-го порядка:
> Diff(cos(x/y+1)*x^2*y,x$2)=diff(cos(x/y+1)*x^2*y,x$2);
13
Для вычисления производных неявно заданных функций используется функция implicitdiff.
> f:=y^x+ln(y)–1=0; # вводится неявная функция
f:= yx ln( y ) 1
>implicitdiff(f,y,x); # производная функции y(x) по x
yx y ln( y )
yx x 1
> implicitdiff(f,x,y); # производная функции x( y) по y
yx x 1 yx ln( y ) y
> implicitdiff(f,y,x,x); # 2-я производная функции y(x) по x yx y ln( y ) ( ln( y ) 2 ( yx )2 x 2 yx ( yx )2 x ln( y ) yx ln( y ) )
( yx )3 x3 3 x2 ( yx )2 3 yx x 1
Для создания функций с производными может использоваться дифференциальный оператор D. В форме D(f)(x) этот оператор подобен diff(f(x),x).
Чтобы определить функцию u(x), в каждой точке равную производной функции f (x) = sin x2, используем не diff, а оператор D.
>f:=x->sin(x^2);
>u:=D(f);
u := x 2 cos( x2 ) x
Теперь функцию u(x) можно использовать для вычисления значения в точке, построения графика, и т.д.
> u(1.); # значение функции f (x) в точке x=1 1.080604612
4.2. И н т е г р и р о в а н и е а) Неопределенные интегралы
Для вычисления неопределенных интегралов в Maple служит функция int. При этом если аналитического значения интеграла не существует, возвращается исходная запись.
> int(a*x^n,x);
a x( n 1 )
n 1
14
Можно использовать инертную форму функции int:
> Int(ln(x)^3,x);
3
ln( x ) dx
В таком представлении интеграл записывается, но не вычисляется, а чтобы его вычислить, служит функция value:
> value(");
ln( x )3 x 3 x ln( x )2 6 x ln( x ) 6 x
> Int(x^2*sin(x),x)=int(x^2*sin(x),x);
|
2 |
sin( x ) dx x |
2 |
cos( x ) 2 cos( x ) 2 x sin( x ) |
x |
|
|||
|
|
|
|
|
> Int(sin(x)/x,x)=int(sin(x)/x,x); # эта функция на-
зывается интегральный синус
|
|
|
sin( x ) |
dx Si( x ) |
|
|
|
|
|
||
|
x |
|
|
|
|
б) Определенные интегралы
Для вычисления определенных интегралов используются те же функции int и Int, в которых надо указать пределы интегрирования, например, x=a..b, если интегрируется функция переменной x.
> Int(sin(x)/x,x=a..b)=int(sin(x)/x,x=a..b);
b |
sin( x ) |
|
|
dx Si( b ) Si( a ) |
|
|
|
|
|
||
|
x |
|
|
|
|
a |
|
|
> int(sin(x)/x,x=0..1);
Si(1)
Maple предпочитает выводить результат в как бы незавершенном виде, так как считает его более точным значением, чем в виде десятичного числа. Однако если требуется именно численное значение интеграла, причем с любой заданной точностью, можно применить функцию evalf. Существует и другая возможность сразу получить численный результат – записать один из пределов в виде вещественного числа, т.е. с точкой:
> int(sin(x)/x,x=0..1.);
0.9460830704
15