Полиномы Gegenbauer
gegenbauerC(n,a,x)
gegenbauerC(
представляет th-степень n
,a
,x
)n
Gegenbauer (ультрасферический) полином с параметром a
в точке x
.
Найдите первые четыре полинома Gegenbauer для параметра 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
возвращает или точные символьные результаты с плавающей точкой.
Найдите значение пятой степени полиномом Gegenbauer для параметра 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
Найдите значение пятой степени полиномом Gegenbauer для тех же чисел преобразованный в символьные объекты. Для символьных чисел 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]
Оценка с плавающей точкой полиномов Gegenbauer прямыми вызовами gegenbauerC
численно стабильна. Однако сначала вычисление полинома с помощью символьной переменной, и затем заменяя значениями переменной точности в это выражение может быть численно нестабильным.
Найдите значение 500-й степени полиномом Gegenbauer для параметра 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
Постройте первые пять полиномов Gegenbauer для параметра 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.
chebyshevT
| chebyshevU
| hermiteH
| jacobiP
| laguerreL
| legendreP