задает вычисление интеграла от функции f по области dom, например (файл vecint):

> restart:with(VectorCalculus):

> int(х^2+у^2, [x,y] = Circle(<0,1>, r));

> int(sin(х)*cos(у)*tan(z), [x,y,z] = Parallelepiped(0..Pi, 0..Pi/3, 0..Pi/4));

½√3 ln(2)

Функция PathInt(f, dom) вычисляет интеграл пути для функции f с Rn до R:

> PathInt(х^2, [х,y] = Line(<0,0>, <1,2>));

> PathInt(х^2+y^2, [х,y] = Circle(<0,0>, 3/2));

> PathInt(1, [х,y] = Ellipse(х^2+y^2/2-1));

Другая функция LineInt(F, dom), где F — вектор или процедура задания векторного поля, dom — параметр, характеризующий направление интегрирования, задает вычисление линейного интеграла в пространстве Rn:

> SetCoordinates(cartesian[х,y]);

cartesianx, у

> LineInt(VectorField(<х,y>), Line(<0,1>, <2,-5>));

14

> LineInt(VectorField(<y,-х>), Circlet<0,0>, r));

-2 r² π

> LineInt(VectorField(<y,-х>), Ellipse(х^2/4+y^2/9-1));

-12π

> LineInt(VectorField(<y,-х>), Arc(Ellipse(х^2/4+у^2/9-1), 0, Pi/2));

-3π

Функция ArcLength(C,dom) задает вычисление длины дуги С по известному интегральному выражению для нее:

> ArcLength(<r*cos(t),r*sin(t)>, t=0..Pi) assuming r>0;

πr

> ArcLength(t -> <t,t^2>, 0..2);

√17-¼ln(-4+√17)

> evalf(%);

4.646783762

Рекомендуется просмотреть различные варианты задания области интегрирования dom в справке по этому пакету.

4.11.6. Задание матриц специального типа

Пакет VectorCalculus позволяет для заданной функции f задавать несколько матриц специального вида, которые часто используются при решении задач теории поля:

Hessian(f, t) — создание матрицы гессиана;

Jacobian(f, v, det) — создание матрицы якобиана;

Wronskian(f, t) — создание матрицы вронскиана.

Примеры задания таких матриц приведены ниже (файл vecmatrix):

> Hessian(ехр(х*y), [х,y]);

> Hessian(а/(х^2+y^2+z^2), [х, y, z]);

> Н := unapply(%, [a,x,y,z]):

> Н(1/2, 0.3, 0.7, 0.1);

> Jacobian([r*cos(t), r*sin(t)], [r,t]);

> Jacobian([r*cos(t), r*sin(t)], [r,t], 'determinant');

> Wronskian([exp(t),ln(t),sin(t)], t);

> Wronskian([t, t^2, t^3], t)

4.11.7. Функции теории поля

К основным функциям теории поля относятся:

Curl(F) — вычисляет вихрь векторного поля в R³;

Divergence(F) — вычисляет дивергенцию векторного поля;

Flux(f, dom) — вычисляет поток векторного поля в R³;

Gradient(f, с) — вычисляет градиент функции f в пространстве от Rn до R;

Del(f, с) и Nabla(f, с) — векторные дифференциальные операторы;

Laplacian(f, с) или Laplacian(F) — вычисляет лапласиан функции f или векторного определения (процедуры) F;

ScalarPotential(v) — вычисляет скалярный потенциал векторного поля;

Torsion(C, t) — вычисляет торсион в R³;

VectorPotential(v) — вычисляет векторный потенциал в R³;

Довольно громоздкие определения этих функций, основанные на использовании криволинейных и поверхностных интегралов, имеются в учебной литературе. Не приводя их, ограничимся приведенными ниже примерами применение указанных выше функций (файл vecft):

> restart:with(VectorCalculus): SetCoordinates('cartesian'[x,y,z]);

cartesianx, у, z

> F := VectorField( <-y,x,0> );

F:=-yēx +хēу

> Curl(F);

z

> Del &x F;

z

> Nabla &x F;

> CrossProduct(Del, F);

z

> F := VectorField(<х^2,y^2,z^2>);

F:=-x²ēх + y²ēу + z²ēz

> Divergence(F);

2х + 2у + 2z

> Flux(VectorField(<x,y,z>, cartesian[x,y,z]), Sphere(<0,0,0>, r));

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату