このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
jacobiP
ヤコビ多項式
説明
例
数値入力およびシンボリック入力のヤコビ多項式を求める
数値入力の 2
次ヤコビ多項式を求めます。
jacobiP(2,0.5,-3,6)
ans = 7.3438
シンボリック入力のヤコビ多項式を求めます。
syms n a b x jacobiP(n,a,b,x)
ans = jacobiP(n, a, b, x)
ヤコビ多項式の次数が指定されていない場合、jacobiP
は多項式を求めることができず、関数呼び出しを返します。
ヤコビ多項式の次数を 1
に指定し、多項式を返すようにします。
J = jacobiP(1,a,b,x)
J = a/2 - b/2 + x*(a/2 + b/2 + 1)
jacobiP
を数値と共に直接呼び出し、ヤコビ多項式の数値を求めます。丸めにより結果が不正確なものとなるため、シンボリック多項式には代入しないでください。subs
を使用してシンボリック多項式に代入してこれを試し、結果を数値呼び出しと比較します。
J = jacobiP(300, -1/2, -1/2, x); subs(J,x,vpa(1/2)) jacobiP(300, -1/2, -1/2, vpa(1/2))
ans = 101573673381249394050.64541318209 ans = 0.032559931334979678350422392588404
subs
を使用してシンボリック多項式に代入した場合、数値の結果には丸め誤差が生じます。jacobiP
を数値で直接呼び出した場合は正確になります。
ベクトルおよび行列の入力によりヤコビ多項式を求める
a = 3
および b = 1
について n = [1 2]
を設定して 1
次および 2
次のヤコビ多項式を求めます。
syms x jacobiP([1 2],3,1,x)
ans = [ 3*x + 1, 7*x^2 + (7*x)/2 - 1/2]
jacobiP
は n
の要素ごとに働き、2 つのエントリを含むベクトルを返します。
複数の入力がベクトル、行列または多次元配列として指定されている場合、これらの入力は同じサイズでなければなりません。a = [1 2;3 1]
、b = [2 2;1 3]
、n = 1
および x
のヤコビ多項式を求めます。
a = [1 2;3 1]; b = [2 2;1 3]; J = jacobiP(1,a,b,x)
J = [ (5*x)/2 - 1/2, 3*x] [ 3*x + 1, 3*x - 1]
jacobiP
は a
および b
の要素ごとに働き、a
および b
と同じサイズの行列を返します。
ヤコビ多項式のゼロの可視化
a = 3
、b = 3
および -1<x<1
に対し、1
次、2
次および 3
次のヤコビ多項式をプロットします。プロットを見やすくするため、axis
を使用して軸の範囲を設定します。
syms x fplot(jacobiP(1:3,3,3,x)) axis([-1 1 -2 2]) grid on ylabel('P_n^{(\alpha,\beta)}(x)') title('Zeros of Jacobi polynomials of degree=1,2,3 with a=3 and b=3'); legend('1','2','3','Location','best')
重み関数に対するヤコビ多項式の直交性の証明
ヤコビ多項式 P(n,a,b,x) は、区間 [-1,1]
において重み関数 と直交します。
区間 [-1,1]
についてヤコビ多項式と重み関数の積を積分することによって、P(3,a,b,x) および P(5,a,b,x) が重み関数 と直交することを証明します。ここで a = 3.5
かつ b = 7.2
です。
syms x a = 3.5; b = 7.2; P3 = jacobiP(3, a, b, x); P5 = jacobiP(5, a, b, x); w = (1-x)^a*(1+x)^b; int(P3*P5*w, x, -1, 1)
ans = 0
入力引数
詳細
バージョン履歴
R2014b で導入
参考
chebyshevT
| chebyshevU
| gegenbauerC
| hermiteH
| hypergeom
| laguerreL
| legendreP