linalg:: ogCoordTab

Таблица преобразований прямоугольной координаты

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linalg::ogCoordTab[ogName](u1, u2, u3, <c>)
linalg::ogCoordTab[ogName,
  Transformation](u1, u2, u3, <c>)
linalg::ogCoordTab[ogName,
  InverseTransformation](u1, u2, u3, <c>)
linalg::ogCoordTab[ogName,
  UnitVectors](u1, u2, u3, <c>)
linalg::ogCoordTab[ogName,
  Scales](u1, u2, u3, <c>)
linalg::ogCoordTab[ogName, Ranges](<c>)
linalg::ogCoordTab[ ogName , Dimension]

Описание

linalg::ogCoordTab является таблицей предопределенных преобразований прямоугольной координаты в.

Запись, сопоставленная с ogName, задает координатное преобразование, которое сопоставляет ортогональные параметры с вектором в Декартовых координатах.

EllipticCylindrical систем координат и Torus заданы с постоянным параметром c, который должен быть передан в качестве дополнительного аргумента. Смотрите Пример 2.

Следующие координатные преобразования хранятся в linalg::ogCoordTab. Они являются обратимыми для обозначенных значений параметров:

  • Cartesian:

    u 1 ∈ ℝ, u 2 ∈ ℝ, u 3 ∈ ℝ:

    .

  • Spherical:

    0 <u 1 <∞, 0 ≤ u 2 ≤   π, 0 ≤ u 3 <2π:

    .

  • Spherical[LeftHanded]:

    0 <u 1 <∞, 0 ≤ u 2 <2  π, 0 ≤ u 3 ≤ π:

    .

  • Cylindrical:

    0 <u 1 <∞, 0 ≤ u 2 <2  π, u 3 ∈ ℝ:

    .

  • EllipticCylindrical:

    0 <u 1 <∞, 0 ≤ u 2 <2  π, u 3 ∈ ℝ (с вещественной константой c):

    .

  • ParabolicCylindrical:

    0 <u 1 <∞, u 2 ∈ ℝ, u 3 ∈ ℝ:

    .

  • RotationParabolic:

    0 <u 1 <∞, 0 <u 2 <∞, 0 ≤ u 3 <2  π:

    .

  • Torus:

    0 <u 1 <c, 0 ≤ u 2 <2  π, 0 ≤ u 3 <2  π (с положительным постоянным c):

    .

linalg::ogCoordTab используется функциями, такими как curl, divergence, gradient и laplacian, чтобы выполнить вычисления в недекартовых координатах.

Примеры

Пример 1

Следующий вызов возвращает Декартов вектор с точки зрения предназначенных для правой руки сферических координат:

linalg::ogCoordTab[Spherical, Transformation](u1, u2, u3)

Сферические координаты выражаются Декартовыми координатами:

linalg::ogCoordTab[Spherical, InverseTransformation](x, y, z)

Отметьте sign(y) в выражении для u 3. Это гарантирует, что правильный угол возвращен для любого значения y:

assume(y > 0):
linalg::ogCoordTab[Spherical, InverseTransformation](x, y, z)

linalg::ogCoordTab[Spherical, InverseTransformation](1, 1, 0),
linalg::ogCoordTab[Spherical, InverseTransformation](-1, 0, 1),
linalg::ogCoordTab[Spherical, InverseTransformation](1, 0, 2),
linalg::ogCoordTab[Spherical, InverseTransformation](1, -1, 3)

Эти значения параметров из следующих областей значений:

linalg::ogCoordTab[Spherical, Ranges]()

Следующие ортонормированные векторы являются касательной к сферическим строкам параметра:

linalg::ogCoordTab[Spherical, UnitVectors](u1, u2, u3)

'Масштабные коэффициенты':

linalg::ogCoordTab[Spherical,Scales](u1, u2, u3)

Существует следующее отношение между якобианом преобразования от прямоугольных координат до Декартовых координат:

xyz:= linalg::ogCoordTab[Spherical, Transformation](u1, u2, u3):
unitvectors:= linalg::ogCoordTab[Spherical, UnitVectors](u1, u2, u3):
scales:= linalg::ogCoordTab[Spherical, Scales](u1, u2, u3):
linalg::transpose(jacobian(xyz, [u1, u2, u3])) = 
  matrix(3, 3, scales, Diagonal)* matrix(unitvectors)

delete y, xyz, unitvectors, scales:

Пример 2

Следующий вызов возвращает Декартов вектор с точки зрения эллиптических цилиндрических координат, включающих параметр c:

linalg::ogCoordTab[EllipticCylindrical, Transformation](u, v, z, c)

Мы вычисляем градиент функционального f (u, v, w) = x (u, v, w) в эллиптических цилиндрических координатах.

f:= (c*cos(v)*cosh(u))^2:

Для вычисления компонентов градиента относительно ортогональной системы достаточно знать 'масштабные коэффициенты':

linalg::ogCoordTab[EllipticCylindrical, Scales](u, v, w, c)

gradf := gradient(f, [u, v, w], %)

Это коэффициенты градиента относительно ортонормированного базиса, возвращенного с помощью опции UnitVectors:

[e_u, e_v, e_w] :=
linalg::ogCoordTab[EllipticCylindrical, UnitVectors](u, v, w, c)

Мы преобразовываем списки e_u, e_v, e_w в вектор-столбцы через matrix. Таким образом, в стандартном основании ℝ3, векторное поле градиента:

G :=   gradf[1]*matrix(e_u)
     + gradf[2]*matrix(e_v) 
     + gradf[3]*matrix(e_w)

Мы упрощаем это выражение с помощью тождеств sin 2   (v) = 1 - cos 2   (v), sinh 2   (u) = cosh 2   (u) - 1:

normal(subs(G, sin(v)^2 = 1 - cos(v)^2, 
               sinh(u)^2 = cosh(u)^2 - 1))

Это - градиент функционального f (x, y, z) = x 2 с x, выраженным эллиптическими цилиндрическими координатами:

G := gradient(x^2, [x, y, z])

[x, y, z] := 
linalg::ogCoordTab[EllipticCylindrical, Transformation](u, v, w, c)

map(G, eval)

delete f, gradf, e_u, e_v, e_w, G, x, y, z:

Параметры

ogName

Имя предопределенной системы координат. Следующие системы трехмерной координаты доступны: Cartesian, Spherical, Spherical[LeftHanded], Cylindrical, EllipticCylindrical, ParabolicCylindrical, RotationParabolic, Torus.

u1, u2, u3

Координаты ортогональной системы: идентификаторы, индексированные идентификаторы или арифметические выражения.

x1, x2, x3

Декартовы координаты: идентификаторы, индексированные идентификаторы или арифметические выражения.

c

Арифметическое выражение. Значением по умолчанию является c = 1.

Опции

Transformation

linalg::ogCoordTab [ogName, Transformation]( u1, u2, u3, c ) возвращает список арифметических выражений [ x1( u1, u2, u3), x2( u1, u2, u3), x3( u1, u2, u3)], задающий преобразование от прямоугольных координат u i к Декартовым координатам x j. Преобразование является обратимым, если координатами u i является из области значений a i <u i <b i где [a1..b1, a2..b2, a3..b3] = linalg::ogCoordTab [ogName, Ranges](c).

InverseTransformation

linalg::ogCoordTab [ogName, InverseTransformation]( x1, x2, x3, c ) возвращает список арифметических выражений [ u1( x1, x2, x3), u2( x1, x2, x3), u3( x1, x2, x3)], задающий обратное преобразование. Обратное преобразование производит значения параметров u i в области значений a iu ib i, данный [a1..b1, a2..b2, a3..b3] = linalg::ogCoordTab [ogName, Ranges](c).

UnitVectors

linalg::ogCoordTab [ogName, UnitVectors]( u1, u2, u3, c ) возвращает список ортонормированных векторов, где каждый вектор представлен списком трех арифметических выражений. Эти векторы с являются касательной единичных векторов к строкам параметра ui.

Scales

linalg::ogCoordTab [ogName, Scales]( u1, u2, u3, c ) возвращает список [ s1, s2, s3] “масштабных коэффициентов” преобразования. “Шкалы” являются Евклидовыми длинами касательной векторов к строкам параметра ui.

Возвращаемые значения

Большинство записей в linalg::ogCoordTab является функциями:

linalg::ogCoordTab [ogName, Transformation]( u1, u2, u3, c ) возвращает список арифметических выражений [ x1( u1, u2, u3), x2( u1, u2, u3), x3( u1, u2, u3)], задающий преобразование от прямоугольных координат u i к Декартовым координатам x j.

linalg::ogCoordTab [ogName, InverseTransformation]( x1, x2, x3, c ) возвращает список арифметических выражений [ u1( x1, x2, x3), u2( x1, x2, x3), u3( x1, x2, x3)], задающий обратное преобразование.

linalg::ogCoordTab [ogName, UnitVectors]( u1, u2, u3, c ) возвращает список ортогонального модуля “векторы”. “Векторы” даны как списки арифметических выражений.

linalg::ogCoordTab [ogName, Scales]( u1, u2, u3, c ) возвращает список арифметических выражений.

linalg::ogCoordTab [ogName, Ranges]( c ) возвращает список областей значений [ a1.. b1, a2.. b2, a3.. b3]. Преобразование является обратимым для значений параметров a i <u i <b i.

linalg::ogCoordTab [ogName, Dimension] приводит к размерности пробела, параметризованного прямоугольными координатами. В настоящее время все предопределенные системы параметризуют 3, т.е. размерность 3 во всех случаях.

Вызов linalg::ogCoordTab [ogName]( u1, u2, u3, c ) идентичен вызову linalg::ogCoordTab [ogName, UnitVectors]( u1, u2, u3, c ).

Смотрите также

Функции MuPAD

Для просмотра документации необходимо авторизоваться на сайте