Многочлены Гегенбауэра
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] Хохштрассер, У. В. «Ортогональные многочлены». Справочник по математическим функциям с формулами, графиками и математическими таблицами. (М. Абрамовиц и И. А. Стегун, ред.). Нью-Йорк: Дувр, 1972.
[2] Коул, Говард С. и Коннор Маккензи. «Обобщения и специализации генерирующих функций для полиномов Якоби, Гегенбауэра, Чебышева и Лежандра с определёнными интегралами». Журнал классического анализа, № 1 (2013): 17-33. https://doi.org/10.7153/jca-03-02.
chebyshevT | chebyshevU | hermiteH | jacobiP | laguerreL | legendreP