代码测试
pfermat
posted @ 2010年1月12日 05:11
in Stack is full
, 834 阅读
double der_p( int degree, int l, double* u, double* pi, int i ) { if ( l == 0 ) return pi[i]; else if ( l > 0 ) { double a = degree - l; double b = u[i+degree-l] - u[i]; return a / b * ( der_p(degree, l-1, u, pi, i) - der_p(degree, l-1, u, pi, i-1) ); } } double der( int degree, int l, double t, double* u, double* pi, int i ) { double sum = 0.0; for ( int j = i-degree+l+1; j <= i; j++ ) sum += N_v(j, degree-l, t, u) * der_p(degree, l, u, pi, j); return sum; }