лежандр

Связанные функции Лежандра

Синтаксис

P = legendre(n,X)
P = legendre(n,X,normalization)

Описание

пример

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

пример

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

Примеры

свернуть все

Используйте функцию 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 (порядок связанной Функции Лежандра)

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

 x = 0  x = 0.1  x = 0.2 m = 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)

Уравнение для связанной Функции Лежандра второй степени 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.

Вычислите связанные значения Функции Лежандра с несколькими нормализацией.

Вычислите ненормированные значения Функции Лежандра первой степени 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.

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

Ylm(θ,ϕ)=(2l+1)(l-m)!4π(l+m)!Plm(потому чтоθ)eimϕ,-lml.

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

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

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

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

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

m = 2;
P32 = reshape(Plm(m+1,:,:), size(phi));

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

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

Преобразуйте в Декартовы координаты и постройте сферическую гармонику для Y32 использование только действительных значений.

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

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

свернуть все

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

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

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

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

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

Тип нормализации, заданный как одно из этих значений.

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

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

свернуть все

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

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

  • Если X является вектором, то P является матрицей размера (n+1)-by-length(X). Записью P(m+1,i) является связанная Функция Лежандра степени n и порядок m, оцененный в X(i).

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

Ограничения

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

Больше о

свернуть все

Связанные функции Лежандра

Связанные Функции Лежандра y=Pnm(x) решения дифференциального уравнения генерала Лежандра

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

n является целочисленной степенью, и m является целочисленным порядком связанной Функции Лежандра, такой что 0mn.

Связанные Функции Лежандра являются самыми общими решениями этого уравнения, данного

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

Они заданы с точки зрения производных Полиномов лежандра, которые являются подмножеством решений, данных

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

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

Значение n
0
1
2

Шмидт полунормализованные связанные функции Лежандра

Полунормированные сопоставленные Функции Лежандра Шмидта связаны с ненормированными сопоставленными Функциями Лежандра

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

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

Полностью нормированные связанные Функции Лежандра нормированы таким образом что

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

Нормированные функции связаны с ненормированными сопоставленными Функциями Лежандра

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

Алгоритмы

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

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

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

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

Ссылки

[1] Abramowitz, M. и я. А. Стегун, руководство математических функций, Дуврские публикации, 1965, Ch.8.

[2] Джейкобс, J. A. геомагнетизм, Academic Press, 1987, Ch.4.

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

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

| | | |

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

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