Đang chuẩn bị liên kết để tải về tài liệu:
Lập Trình C# all Chap "NUMERICAL RECIPES IN C" part 51

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

Tham khảo tài liệu 'lập trình c# all chap "numerical recipes in c" part 51', công nghệ thông tin phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | 5.10 Polynomial Approximation from Chebyshev Coefficients 197 5.10 Polynomial Approximation from Chebyshev Coefficients You may well ask after reading the preceding two sections Must I store and evaluate my Chebyshev approximation as an array of Chebyshev coefficients for a transformed variable y Can t I convert the ck s into actual polynomial coefficients in the original variable x and have an approximation of the following form m 1 f x X9kxk k 0 5.10.1 Yes you can do this and we will give you the algorithm to do it but we caution you against it Evaluating equation 5.10.1 where the coefficient g s reflect an underlying Chebyshev approximation usually requires more significant figures than evaluation of the Chebyshev sum directly as by chebev . This is because the Chebyshev polynomials themselves exhibit a rather delicate cancellation The leading coefficient of Tn x for example is 2n-1 other coefficients of Tn x are even bigger yet they all manage to combine into a polynomial that lies between 1. Only when m is no larger than 7 or 8 should you contemplate writing a Chebyshev fit as a direct polynomial and even in those cases you should be willing to tolerate two or so significant figures less accuracy than the roundoff limit of your machine. You get the g s in equation 5.10.1 from the c s output from chebft suitably truncated at a modest value of m by calling in sequence the following two procedures include nrutil.h void chebpc float c float d int n Chebyshev polynomial coefficients. Given a coefficient array c 0.n-1 this routine generates a coefficient array d 0.n-1 such that Xn 1 d yk Xn 1 c Tk y cq 2. The method is Clenshaw s recurrence 5.8.11 but now applied algebraically rather than arithmetically. int k j float sv dd dd vector 0 n-1 for j 0 j n j d j dd j 0.0 d 0 c n-1 for j n-2 j 1 j-- for k n-j k 1 k sv d k d k 2.0 d k-1 -dd k dd k sv sv d 0 d 0 -dd 0 c j dd 0 sv for j n-1 j 1 j-- d j d j-1 -dd j d 0 -dd 0 0.5 c 0 free_vector dd 0 n-1 Sample page from .