| 查看: 2724 | 回复: 7 | ||||
| 【奖励】 本帖被评价4次,作者tianwf增加金币 2.6 个 | ||||
[资源]
C数值算法程序大全
|
||||
|
下面是书的目录, 全书为PDF格式, 书中给出了C语言程序, 在最下面我粘贴了一段程序供预览. 1 Preliminaries 1.0 Introduction 1 1.1 Program Organization and Control Structures 5 1.2 Some C Conventions for Scientific Computing 15 1.3 Error, Accuracy, and Stability 15 2 Solution of Linear Algebraic Equations 2.0 Introduction 32 2.1 Gauss-Jordan Elimination 36 2.2 Gaussian Elimination with Backsubstitution 41 2.3 LU Decomposition and Its Applications 43 2.4 Tridiagonal and Band Diagonal Systems of Equations 50 2.5 Iterative Improvement of a Solution to Linear Equations 55 2.6 Singular Value Decomposition 59 2.7 Sparse Linear Systems 71 2.8 Vandermonde Matrices and Toeplitz Matrices 90 2.9 Cholesky Decomposition 96 2.10 QR Decomposition 98 2.11 Is Matrix Inversion an $N^3$ Process? 102 3 Interpolation and Extrapolation 3.0 Introduction 105 3.1 Polynomial Interpolation and Extrapolation 108 3.2 Rational Function Interpolation and Extrapolation 111 3.3 Cubic Spline Interpolation 113 3.4 How to Search an Ordered Table 117 3.5 Coefficients of the Interpolating Polynomial 120 3.6 Interpolation in Two or More Dimensions 123 4 Integration of Functions 4.0 Introduction 129 4.1 Classical Formulas for Equally Spaced Abscissas 130 4.2 Elementary Algorithms 136 4.3 Romberg Integration 140 4.4 Improper Integrals 141 4.5 Gaussian Quadratures and Orthogonal Polynomials 147 4.6 Multidimensional Integrals 161 5 Evaluation of Functions 5.0 Introduction 165 5.1 Series and Their Convergence 165 5.2 Evaluation of Continued Fractions 169 5.3 Polynomials and Rational Functions 173 5.4 Complex Arithmetic 176 5.5 Recurrence Relations and Clenshaw's Recurrence Formula 178 5.6 Quadratic and Cubic Equations 183 5.7 Numerical Derivatives 186 5.8 Chebyshev Approximation 190 5.9 Derivatives or Integrals of a Chebyshev-approximated Function 195 5.10 Polynomial Approximation from Chebyshev Coefficients 197 5.11 Economization of Power Series 198 5.12 Pad\'e Approximants 200 5.13 Rational Chebyshev Approximation 204 5.14 Evaluation of Functions by Path Integration 208 6 Special Functions 6.0 Introduction 212 6.1 Gamma Function, Beta Function, Factorials, Binomial Coefficients 213 6.2 Incomplete Gamma Function, Error Function, Chi-Square Probability Function, Cumulative Poisson Function 216 6.3 Exponential Integrals 222 6.4 Incomplete Beta Function, Student's Distribution, F-Distribution,Cumulative Binomial Distribution 226 6.5 Bessel Functions of Integer Order 230 6.6 Modified Bessel Functions of Integer Order 236 6.7 Bessel Functions of Fractional Order, Airy Functions, SphericalBessel Functions 240 6.8 Spherical Harmonics 252 6.9 Fresnel Integrals, Cosine and Sine Integrals 255 6.10 Dawson's Integral 259 6.11 Elliptic Integrals and Jacobian Elliptic Functions 261 6.12 Hypergeometric Functions 271 7 Random Numbers 7.0 Introduction 274 7.1 Uniform Deviates 275 7.2 Transformation Method: Exponential and Normal Deviates 287 7.3 Rejection Method: Gamma, Poisson, Binomial Deviates 290 7.4 Generation of Random Bits 296 7.5 Random Sequences Based on Data Encryption 300 7.6 Simple Monte Carlo Integration 304 7.7 Quasi- (that is, Sub-) Random Sequences 309 7.8 Adaptive and Recursive Monte Carlo Methods 316 8 Sorting 8.0 Introduction 329 8.1 Straight Insertion and Shell's Method 330 8.2 Quicksort 332 8.3 Heapsort 336 8.4 Indexing and Ranking 338 8.5 Selecting the $M$th Largest 341 8.6 Determination of Equivalence Classes 345 9 Root Finding and Nonlinear Sets of Equations 9.0 Introduction 347 9.1 Bracketing and Bisection 350 9.2 Secant Method, False Position Method, and Ridders' Method 354 9.3 Van Wijngaarden--Dekker--Brent Method 359 9.4 Newton-Raphson Method Using Derivative 362 9.5 Roots of Polynomials 369 9.6 Newton-Raphson Method for Nonlinear Systems of Equations 379 9.7 Globally Convergent Methods for Nonlinear Systems of Equations 383 10 Minimization or Maximization of Functions 10.0 Introduction 394 10.1 Golden Section Search in One Dimension 397 10.2 Parabolic Interpolation and Brent's Method in One Dimension 402 10.3 One-Dimensional Search with First Derivatives 305 10.4 Downhill Simplex Method in Multidimensions 408 10.5 Direction Set (Powell's) Methods in Multidimensions 412 10.6 Conjugate Gradient Methods in Multidimensions 420 10.7 Variable Metric Methods in Multidimensions 425 10.8 Linear Programming and the Simplex Method 430 10.9 Simulated Annealing Methods 444 11 Eigensystems 11.0 Introduction 456 11.1 Jacobi Transformations of a Symmetric Matrix 463 11.2 Reduction of a Symmetric Matrix to Tridiagonal Form: Givens and Householder Reductions 469 11.3 Eigenvalues and Eigenvectors of a Tridiagonal Matrix 475 11.4 Hermitian Matrices 481 11.5 Reduction of a General Matrix to Hessenberg Form 482 11.6 The QR Algorithm for Real Hessenberg Matrices 486 11.7 Improving Eigenvalues and/or Finding Eigenvectors by Inverse Iteration 493 12 Fast Fourier Transform 12.0 Introduction 496 12.1 Fourier Transform of Discretely Sampled Data 500 12.2 Fast Fourier Transform (FFT) 504 12.3 FFT of Real Functions, Sine and Cosine Transforms 510 12.4 FFT in Two or More Dimensions 521 12.5 Fourier Transforms of Real Data in Two and Three Dimensions 525 12.6 External Storage or Memory-Local FFTs 532 13 Fourier and Spectral Applications 13.0 Introduction 537 13.1 Convolution and Deconvolution Using the FFT 538 13.2 Correlation and Autocorrelation Using the FFT 545 13.3 Optimal (Wiener) Filtering with the FFT 547 13.4 Power Spectrum Estimation Using the FFT 549 13.5 Digital Filtering in the Time Domain 558 13.6 Linear Prediction and Linear Predictive Coding 564 13.7 Power Spectrum Estimation by the Maximum Entropy (All Poles) Method 572 13.8 Spectral Analysis of Unevenly Sampled Data 575 13.9 Computing Fourier Integrals Using the FFT 584 13.10 Wavelet Transforms 591 13.11 Numerical Use of the Sampling Theorem 606 14 Statistical Description of Data 14.0 Introduction 609 14.1 Moments of a Distribution: Mean, Variance, Skewness, and So Forth 610 14.2 Do Two Distributions Have the Same Means or Variances? 615 14.3 Are Two Distributions Different? 620 14.4 Contingency Table Analysis of Two Distributions 628 14.5 Linear Correlation 636 14.6 Nonparametric or Rank Correlation 639 14.7 Do Two-Dimensional Distributions Differ? 645 14.8 Savitzky-Golay Smoothing Filters 650 15 Modeling of Data 15.0 Introduction 656 15.1 Least Squares as a Maximum Likelihood Estimator 657 15.2 Fitting Data to a Straight Line 661 15.3 Straight-Line Data with Errors in Both Coordinates 666 15.4 General Linear Least Squares 671 15.5 Nonlinear Models 681 15.6 Confidence Limits on Estimated Model Parameters 689 15.7 Robust Estimation 699 16 Integration of Ordinary Differential Equations 16.0 Introduction 707 16.1 Runge-Kutta Method 710 16.2 Adaptive Stepsize Control for Runge-Kutta 714 16.3 Modified Midpoint Method 722 16.4 Richardson Extrapolation and the Bulirsch-Stoer Method 724 16.5 Second-Order Conservative Equations 732 16.6 Stiff Sets of Equations 734 16.7 Multistep, Multivalue, and Predictor-Corrector Methods 747 17 Two Point Boundary Value Problems 17.0 Introduction 753 17.1 The Shooting Method 757 17.2 Shooting to a Fitting Point 760 17.3 Relaxation Methods 762 17.4 A Worked Example: Spheroidal Harmonics 772 17.5 Automated Allocation of Mesh Points 783 17.6 Handling Internal Boundary Conditions or Singular Points 784 18 Integral Equations and Inverse Theory 18.0 Introduction 788 18.1 Fredholm Equations of the Second Kind 791 18.2 Volterra Equations 794 18.3 Integral Equations with Singular Kernels 797 18.4 Inverse Problems and the Use of A Priori Information 804 18.5 Linear Regularization Methods 808 18.6 Backus-Gilbert Method 815 18.7 Maximum Entropy Image Restoration 818 19 Partial Differential Equations 19.0 Introduction 827 19.1 Flux-Conservative Initial Value Problems 834 19.2 Diffusive Initial Value Problems 847 19.3 Initial Value Problems in Multidimensions 853 19.4 Fourier and Cyclic Reduction Methods for Boundary Value Problems 857 19.5 Relaxation Methods for Boundary Value Problems 863 19.6 Multigrid Methods for Boundary Value Problems 871 20 Less-Numerical Algorithms 20.0 Introduction 889 20.1 Diagnosing Machine Parameters 889 20.2 Gray Codes 894 20.3 Cyclic Redundancy and Other Checksums 896 20.4 Huffman Coding and Compression of Data 903 20.5 Arithmetic Coding 910 20.6 Arithmetic at Arbitrary Precision 915 References and Program Dependencies 926 General Index 965 摘录一部分程序如下" #include #include "nrutil.h" #define SAFETY 0.9 #define PGROW -0.2 #define PSHRNK -0.25 #define ERRCON 1.89e-4 The value ERRCON equals (5/SAFETY) raised to the power (1/PGROW), see use below. void rkqs(float y[], float dydx[], int n, float *x, float htry, float eps, float yscal[], float *hdid, float *hnext, void (*derivs)(float, float [], float [])) Fifth-order Runge-Kutta step with monitoring of local truncation error to ensure accuracy and adjust stepsize. Input are the dependent variable vector y[1..n] and its derivative dydx[1..n] at the starting value of the independent variable x. Also input are the stepsize to be attempted htry, the required accuracy eps, and the vector yscal[1..n] against which the error is scaled. On output, y and x are replaced by their new values, hdid is the stepsize that was actually accomplished, and hnext is the estimated next stepsize. derivs is the user-supplied routine that computes the right-hand side derivatives. { void rkck(float y[], float dydx[], int n, float x, float h, float yout[], float yerr[], void (*derivs)(float, float [], float [])); int i; float errmax,h,htemp,xnew,*yerr,*ytemp; yerr=vector(1,n); ytemp=vector(1,n); h=htry; Set stepsize to the initial trial value. for (; {rkck(y,dydx,n,*x,h,ytemp,yerr,derivs); Take a step. errmax=0.0; Evaluate accuracy. for (i=1;i<=n;i++) errmax=FMAX(errmax,fabs(yerr/yscal)); errmax /= eps; Scale relative to required tolerance. if (errmax <= 1.0) break; Step succeeded. Compute size of next step. htemp=SAFETY*h*pow(errmax,PSHRNK); Truncation error too large, reduce stepsize. h=(h >= 0.0 ? FMAX(htemp,0.1*h) : FMIN(htemp,0.1*h)); No more than a factor of 10. xnew=(*x)+h; if (xnew == *x) nrerror("stepsize underflow in rkqs" ;} if (errmax > ERRCON) *hnext=SAFETY*h*pow(errmax,PGROW); else *hnext=5.0*h; No more than a factor of 5 increase. *x += (*hdid=h); for (i=1;i<=n;i++) y=ytemp; free_vector(ytemp,1,n); free_vector(yerr,1,n); } http://d.namipan.com/sd/1886149 http://d.namipan.com/sd/1886149 [ Last edited by tianwf on 2010-2-6 at 14:10 ] |
» 收录本帖的淘帖专辑推荐
模拟与仿真 | 数学分析 |
» 猜你喜欢
自荐读博
已经有5人回复
求个博导看看
已经有16人回复
上海工程技术大学张培磊教授团队招收博士生
已经有4人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有5人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
需要合成515-64-0,50g,能接单的留言
已经有4人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
带资进组求博导收留
已经有10人回复
最近几年招的学生写论文不引自己组发的文章
已经有11人回复
» 本主题相关价值贴推荐,对您同样有帮助:
经典书籍《数值算法大全(第3版)》:英文原版,含C、C++和Fortran源代码
已经有303人回复
【求助】VC++数值算法集应用到MFC中报错,程序调试求助
已经有8人回复
【分享】C/C++常用算法设计方法,fortran其他语言编程也可以参考下
已经有8人回复
【求助】最小二乘法编写指数拟合方程
已经有19人回复
2楼2010-02-06 14:37:41
3楼2010-02-06 21:34:30
nono2009
超级版主 (文学泰斗)
-

专家经验: +21105 - 应助: 28684 (院士)
- 贵宾: 513.911
- 金币: 2555220
- 帖子: 1602255
- 在线: 65200.9小时
- 虫号: 827383
4楼2010-02-07 20:53:30
7楼2013-06-28 15:04:38
8楼2014-04-15 09:20:53
简单回复
lin_ant5楼
2011-03-23 10:43
五星好评
,谢谢分享!
,谢谢分享!
hailiang6楼
2011-03-23 15:16
五星好评 谢谢分享







{
回复此楼