> SetCoordinates('cartesian'[x,y,z]); v := VectorField(<y,-x,0>);
cartesianx, y, z
v:= уēx– хēу
> VectorPotential(v);
– xzēx– yzēу
> SetCoordinates('cylindrical'[r,theta,z]);
cylindricalr, θ, z
> v := VectorField(<r,0,-2*z>);
v:= rēr– 2zēz
> VectorPotential(v);
(-r sin(θ)² z - r cos(θ)² z) ēθ
> simplify(Curl(%));
rēr – 2zēz
Обратите внимание на то, что для гарантии правильного выполнения этих команд и отсутствия «зависания» компьютера может потребоваться команда restart и перезагрузка пакета VectorCalculus.
4.11.8. Приближение площади сложной поверхности суммами Римана
Одним из важнейших приложений пакета VectorCalculus является вычисление длин дуг и площадей сложных поверхностей на основе применения линейных и поверхностных интегралов. Иногда это встречает большие трудности и требует специальных подходов. Примером может служить поверхность, заданная рис. 4.40. Эта поверхность построена с имитацией ее освещения от внешнего источника света.
Рис. 4.40 Сложная поверхность с эффектами ее освещения внешним источником света
Применим обычную процедуру вычисления площади поверхности. Для этого вычислим для нее матрицу якобиана и удалим из нее столбец с нулевыми элементами (файл vecrim):
> J := Jacobian(f, [х, у, z]);
> J := DeleteColumn(J, [3]);
Тогда площадь поверхности вычисляется следующим образом:
> Int(Int(dA, x=0..2*Pi), y=0..2*Pi);
К сожалению, этот двойной интеграл Maple не вычисляет из-за сложности подынтегрального выражения, график которого представлен на рис. 4.41.
Рис. 4.41. График подынтегрального выражения
Для приближенного вычисления площади можно разбить поверхность на достаточное число сегментов и использовать замену интегралов суммами Римана. Оценка нижней и верхней сумм Римана для четверти поверхности (ее одного квадранта) представлена ниже:
> for s from 1 to 8 do
F := (k, t)->subs({x=k*Pi/(10*s), y=t*Pi/(10*s)}, dA):