Гегенбауэр- полиномы
gegenbauerC(
представляет n
,a
,x
)n
полином Гегенбауэра (ультразвуковой) степени с параметрическим a
в точке x
.
Найдите первые четыре полинома Гегенбауэра для параметра a
и переменные x
.
syms a x gegenbauerC([0, 1, 2, 3], a, x)
ans = [ 1, 2*a*x, (2*a^2 + 2*a)*x^2 - a,... ((4*a^3)/3 + 4*a^2 + (8*a)/3)*x^3 + (- 2*a^2 - 2*a)*x]
В зависимости от его аргументов, gegenbauerC
возвращает результаты с плавающей точкой или точные символьные результаты.
Найдите значение полинома Гегенбауэра пятой степени для параметра a = 1/3
в этих точках. Поскольку эти числа не являются символическими объектами, gegenbauerC
возвращает результаты с плавающей точкой.
gegenbauerC(5, 1/3, [1/6, 1/4, 1/3, 1/2, 2/3, 3/4])
ans = 0.1520 0.1911 0.1914 0.0672 -0.1483 -0.2188
Найдите значение полинома Гегенбауэра пятой степени для тех же чисел, преобразованных в символические объекты. Для символьных чисел, gegenbauerC
возвращает точные символьные результаты.
gegenbauerC(5, 1/3, sym([1/6, 1/4, 1/3, 1/2, 2/3, 3/4]))
ans = [ 26929/177147, 4459/23328, 33908/177147, 49/729, -26264/177147, -7/32]
Оценка полиномов Гегенбауэра с плавающей точкой по прямым вызовам gegenbauerC
численно стабильен. Однако сначала вычисление полинома с помощью символьной переменной, а затем подстановка значений переменной точности в это выражение может быть численно нестабильным.
Найдите значение полинома Гегенбауэра 500-й степени для параметра 4
при 1/3
и vpa(1/3)
. Оценка с плавающей точкой численно стабильна.
gegenbauerC(500, 4, 1/3) gegenbauerC(500, 4, vpa(1/3))
ans = -1.9161e+05 ans = -191609.10250897532784888518393655
Теперь найдите символьный полином C500 = gegenbauerC(500, 4, x)
, и заменить x = vpa(1/3)
в результат. Этот подход является численно нестабильным.
syms x C500 = gegenbauerC(500, 4, x); subs(C500, x, vpa(1/3))
ans = -8.0178726380235741521208852037291e+35
Аппроксимируйте полиномиальные коэффициенты при помощи vpa
, а затем заменить x = sym(1/3)
в результат. Этот подход также является численно нестабильным.
subs(vpa(C500), x, sym(1/3))
ans = -8.1125412405858470246887213923167e+36
Постройте график первых пяти полиномов Гегенбауэра для a = 3
параметра.
syms x y fplot(gegenbauerC(0:4,3,x)) axis([-1 1 -10 10]) grid on ylabel('G_n^3(x)') title('Gegenbauer polynomials') legend('G_0^3(x)', 'G_1^3(x)', 'G_2^3(x)', 'G_3^3(x)', 'G_4^3(x)',... 'Location', 'Best')
gegenbauerC
возвращает результаты с плавающей точкой для числовых аргументов, которые не являются символьными объектами.
gegenbauerC
действует поэлементно на нескалярных входах.
Все нескалярные аргументы должны иметь одинаковый размер. Если один или два входных параметров нескаляра, то gegenbauerC
расширяет скаляры в векторы или матрицы того же размера, что и нескалярные аргументы, при этом все элементы равны соответствующему скаляру.
[1] Hochstrasser, U. W. «Ортогональные полиномы». Руководство по математическим функциям с формулами, графиками и математическими таблицами. (М. Абрамовиц и И. А. Штегун, эд.). Нью-Йорк: Дувр, 1972.
[2] Cohl, Howard S., and Connor MacKenzie. «Обобщения и специализации генерирующих функций для Полиномов Якоби, Гегенбауэра, Чебышёва и Лежандре с определенными интегралами». Журнал классического анализа, № 1 (2013): 17-33. https://doi.org/10.7153/jca-03-02.
chebyshevT
| chebyshevU
| hermiteH
| jacobiP
| laguerreL
| legendreP