Полиномы Gegenbauer
gegenbauerC(
представляет n
,a
,x
)n
th-степень 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