legendre

Связанные функции Legendre

Описание

пример

P = legendre(n,X) вычисляет связанные функции Legendre степени n и упорядочить m = 0, 1, ..., n оценивается для каждого элемента в X.

пример

P = legendre(n,X,normalization) вычисляет нормированные версии связанных функций Legendre. normalization можно 'unnorm' (по умолчанию), 'sch', или 'norm'.

Примеры

свернуть все

Используйте legendre функция для работы с вектором и последующего исследования формата выхода.

Вычислите значения функции Legendre второй степени вектора.

deg = 2;
x = 0:0.1:0.2;
P = legendre(deg,x)
P = 3×3

   -0.5000   -0.4850   -0.4400
         0   -0.2985   -0.5879
    3.0000    2.9700    2.8800

Формат выхода таков, что:

  • Каждая строка содержит значение функции для разных значений m (порядок связанной функции Legendre)

  • Каждый столбец содержит значение функции для другого значения x

x = 0x = 0.1x = 0.2m = 0P20(0)P20(0.1)P20(0.2)m = 1P21(0)P21(0.1)P21(0.2)m = 2P22(0)P22(0.1)P22(0.2)

Уравнение для функции Legendre, связанной со второй степенью P2m является

P2m(x)=(-1)m(1-x2)m/2dmdxm[12(3x2-1)].

Поэтому значение P20(0) является

P20(0)=[12(3x2-1)]|x=0=-12.

Этот результат согласен с P(1,1) = -0.5000.

Вычислите связанные значения функции Legendre с несколькими нормализациями.

Вычислим неормализованные значения функции Legendre первой степени P1m. Первая строка значений соответствует m=0, и вторую строку, m=1.

x = 0:0.2:1;
n = 1;
P_unnorm = legendre(n,x)
P_unnorm = 2×6

         0    0.2000    0.4000    0.6000    0.8000    1.0000
   -1.0000   -0.9798   -0.9165   -0.8000   -0.6000         0

Затем вычислите значения полунормализированной функции Шмидта. По сравнению с неормализованными значениями форма Шмидта отличается, когда m>0 по масштабированию

(-1)m2(n-m)!(n+m)!.

Для первой строки две нормализации одинаковы, поскольку m=0. Для второй строки масштабная константа, умножающая каждое значение, составляет -1.

P_sch = legendre(n,x,'sch')
P_sch = 2×6

         0    0.2000    0.4000    0.6000    0.8000    1.0000
    1.0000    0.9798    0.9165    0.8000    0.6000         0

C1 = (-1) * sqrt(2*factorial(0)/factorial(2))
C1 = -1

Наконец, вычислите полностью нормированные значения функций. По сравнению с неормализованными значениями, полностью нормированная форма отличается коэффициентом масштабирования

(-1)m(n+12)(n-m)!(n+m)!.

Этот масштабный коэффициент применяется ко всем значениям m, поэтому первая и вторая строки имеют различные коэффициенты масштабирования.

P_norm = legendre(n,x,'norm')
P_norm = 2×6

         0    0.2449    0.4899    0.7348    0.9798    1.2247
    0.8660    0.8485    0.7937    0.6928    0.5196         0

Cm0 = sqrt((3/2))
Cm0 = 1.2247
Cm1 = (-1) * sqrt((3/2)/2)
Cm1 = -0.8660

Сферические гармоники возникают в решении уравнения Лапласа и используются для представления функций, заданных на поверхности сферы. Использование legendre вычислить и визуализировать сферическую гармонику для Y32.

Уравнение для сферических гармоник включает термин для функции Legendre, а также комплексную экпоненту:

Ylm(θ,ϕ)=(2l+1)(l-m)!4π(l+m)!Plm(cosθ)eimϕ,-lml.

Во-первых, создайте сетку значений, чтобы представлять все комбинации 0θπ (угол колатитуды) и 0ϕ2π (азимутальный угол). Вот, колатитуда θ колеблется от 0 на Северном полюсе, до π/2 в Экваторе, и π на Южном полюсе.

dx = pi/60;
col = 0:dx:pi;
az = 0:dx:2*pi;
[phi,theta] = meshgrid(az,col);

Вычислить Plm(cosθ) на сетке для l=3.

l = 3;
Plm = legendre(l,cos(theta));

Начиная с legendre вычисляет ответ для всех значений m, Plm содержит некоторые дополнительные значения функций. Извлеките значения для m=2 и отменить рест. использовать reshape функция для ориентации результатов как матрицы с таким же размером, как phi и theta.

m = 2;
if l ~= 0
    Plm = reshape(Plm(m+1,:,:),size(phi));
end

Вычислим сферические гармонические значения для Y32.

a = (2*l+1)*factorial(l-m);
b = 4*pi*factorial(l+m);
C = sqrt(a/b);
Ylm = C .*Plm .*exp(1i*m*phi);

Преобразуйте сферические координаты в Декартовы координаты. Вот, π/2-θ становится углом широты, который колеблется от π/2 на Северном полюсе, до 0 на Экваторе и до -π/2 на Южном полюсе. Постройте график сферической гармоники для Y32 использование как положительных, так и отрицательных вещественных значений.

[Xm,Ym,Zm] = sph2cart(phi, pi/2-theta, abs(real(Ylm)));
surf(Xm,Ym,Zm)
title('$Y_3^2$ spherical harmonic','interpreter','latex')

Figure contains an axes. The axes with title $Y_3^2$ spherical harmonic contains an object of type surface.

Входные параметры

свернуть все

Степень функции Legendre, заданная как положительное целое число. Для заданной степени, legendre вычисляет Pnm(x) для всех порядков, m от m = 0 до m = n.

Пример: legendre(2,X)

Входные значения, заданные как скаляр, вектор, матрица или многомерный массив вещественных значений в области значений [-1,1]. Например, со сферическими гармониками обычно используют X = cos(theta) как входные значения для вычисления Pnm(cosθ).

Пример: legendre(2,cos(theta))

Типы данных: single | double

Тип нормализации, заданный в качестве одного из следующих значений.

Пример: legendre(n,X,'sch')

Выходные аргументы

свернуть все

Связанные значения функции Legendre, возвращенные в виде скаляра, вектора, матрицы или многомерного массива. Нормализация P зависит от значения normalization.

Размер P зависит от размера X:

  • Если X является вектором, тогда P - матрица размера (n+1)-by- length(X). The P(m+1,i) entry - связанная функция Legendre от степени n и упорядочить m оценивается в X(i).

  • В целом, P имеет на одно измерение больше, чем X и каждый элемент P(m+1,i,j,k,...) содержит связанную функцию Legendre от степени n и упорядочить m оценивается в X(i,j,k,...).

Ограничения

Значения ненормализованной связанной функции Legendre переполнены областью значений чисел двойной точности для n > 150 и область значений чисел с одной точностью для n > 28. Это переполнение приводит к Inf и NaN значения. Для порядков, больших, чем эти пороги, рассмотрите использование 'sch' или 'norm' вместо этого нормализации.

Подробнее о

свернуть все

Связанные функции Legendre

Связанные функции Legendre y=Pnm(x) являются решениями общего дифференциального уравнения Лежандра

(1x2)d2ydx22xdydx+[n(n+1)m21x2]y=0.

n - целочисленная степень, а m - целочисленный порядок связанной функции Legendre, такой что 0mn.

Связанные функции Legendre Pnm(x) являются наиболее общими решениями этого уравнения, заданными

Pnm(x)=(1)m(1x2)m/2dmdxmPn(x).

Они заданы в терминах производных полиномов Лежандра Pn(x), которые являются подмножеством решений, заданных

Pn(x)=12nn!dndxn(x21)n.

Первые несколько полиномов Лежандра

Значение nPn(x)
0P0(x)=1
1P1(x)=x
2P2(x)=12(3x21)

Schmidt Seminormalized Associated Legendre Functions

Функции Schmidt seminormalized associated Legendre связаны с неормализованными функциями Legendre Pnm(x) около

Pn(x) для m=0,Snm(x)=(1)m2(nm)!(n+m)!Pnm(x) для m>0.

Полностью нормированные связанные функции легенды

Полностью нормированные связанные функции Legendre нормированы так, что

11[Nnm(x)]2dx=1.

Нормированные функции связаны с ненормализованными связанными функциями Legendre Pnm(x) около

Nnm(x)=(1)m(n+12)(nm)!(n+m)!Pnm(x).

Алгоритмы

legendre использует трехфазную обратную рекурсию в m. Эта рекурсия находится на версии семинормализированных связанных функций Legendre Шмидта Qnm(x), которые являются сложной сферической гармоникой. Эти функции связаны со стандартными функциями Абрамовица и Штегуна [1] Pnm(x) около

Pnm(x)=(n+m)!(nm)!Qnm(x).

Они связаны с формой Шмидта

m=0:Snm(x)=Qn0(x)m>0:Snm(x)=(1)m2Qnm(x).

Ссылки

[1] Abramowitz, M. and I. A. Stegun, Handbook of Mathematical Functions, Dover Publications, 1965, Ch.8.

[2] Jacobs, J. A., Geomagnetism, Academic Press, 1987, Ch.4.

Расширенные возможности

См. также

| | | |

Представлено до R2006a