10月 03
chitsd5u4v
前回のエントリの Legendre の多項式...微分したものを計算機に実装するにはどうしたらよいのか,なんてことを考えてたりしました.はじめは前回のエントリーで記述した関数から のようなものを考えればいいのかなと思ったのですが,そんなことせずとも,単純に次のような漸化式を考えればいいのかな...と.
こちらの方がはじめに考えた方法よりも正確な値が求められて良い感じがします.また前回のエントリのプログラムと組み合わせると次のように簡単に記述できそうです.
double dLegendreFunction(int n, double x){
if(n==0)
return 0;
else if(n==1)
return 1;
else if(n>1){
return (
(2*n-1)/(double)n*(legendreFunction(n-1,x)
+x*dLegendreFunction(n-1,x))
- (n-1)/(double)n*dLegendreFunction(n-2,x)
);
}
else
return 0;
}
あまり自信はありませんが.