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
, чтобы выполнить вычисления в недекартовых координатах.
Следующий вызов возвращает Декартов вектор с точки зрения предназначенных для правой руки сферических координат:
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:
Следующий вызов возвращает Декартов вектор с точки зрения эллиптических цилиндрических координат, включающих параметр 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:
|
Имя предопределенной системы координат. Следующие системы трехмерной координаты доступны: |
|
Координаты ортогональной системы: идентификаторы, индексированные идентификаторы или арифметические выражения. |
|
Декартовы координаты: идентификаторы, индексированные идентификаторы или арифметические выражения. |
|
Арифметическое выражение. Значением по умолчанию является |
|
|
|
|
|
|
|
|
Большинство записей в 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 )
.