1、IDL Advanced及其详细功能介绍 (2011-03-27 18:23:43) 转载▼ 标签: 数值分析 idl advanced analyst 杂谈 分类: IDL IDL Advanced是IDL的一个新的增值模块,它全面集成了IMSLTM C Numerical Library的数学和统计程序,在IDL原有的交互式数据分析和可视化功能基础上增加了复杂的数学和统计功能。IMSL(International Mathematics and Statistics Library)是由Visual Numerics,Inc从20世纪70年
2、代开始开发的包含全面的数学和统计函数的软件包,拥有超过300个已证明且精准的数学统计算法,IDL Advanced中包含了除金融方面函数之外的整个C语言库。 IDL Advanced为科学家和专业领域的工程师提供了185个经过证明的运算函数,在IDL环境下,用户只需要简单地调用这些函数到自己的应用程序中,就可以实现复杂的数学和统计运算,并可以进行运算结果的快速可视化。 1. IMSL数学和统计功能列表: Linear System (线性系统) Eigensystem Analysis (特征系统分析) Interpolation and Approximation (差值和
3、拟合) Quadrature (积分) Differential Equations (微分方程) Transforms (变换) Nonlinear Equations (非线性方程) Optimization (最优化) Special Functions (特殊函数) Basic Statistics and Random Number Generators (基础统计和随机数产生) Regression (回归) Correlation and Covariance (相关和协方差) Analysis of Variance (变异分析) Categorical
4、and Discrete Data Analysis (分类和离散数据分析) Nonparametric Statistics (非参数统计) Goodness of Fit (拟和优度/配合度) Time Series and Forecasting (时间序列和预测) Multivariate Analysis (多元分析) Survival Analysis (生存分析) Probability Distribution Functions and Inverses (概率分布函数和反转) Random Number Generation (随机数生成) Math and
5、 Statistics Utilities(应用数学统计) 2. IDL Advanced数学功能详细介绍 §1 Linear System (线性系统) Matrix Inversion 矩阵转置 IMSL_INV Linear Equations with Full Matrices 全矩阵线性方程 IMSL_SP_LUSOL IMSL_SP_LUFAC IMSL_SP_CHSOL IMSL_SP_CHFAC Linear Least Squares with Full Matrices 全矩
6、阵线性最小二乘 IMSL_QRSOL IMSL_QRFAC IMSL_SVDCOMP IMSL_CHNNDSOL IMSL_CHNNDFAC IMSL_LINLSQ Sparse Matrices 稀疏矩阵 IMSL_SP_LUSOL IMSL_SP_LUFAC IMSL_SP_BDSOL IMSL_SP_BDFAC IMSL_SP_PDSOL IMSL_SP_PDFAC IMSL_SP_BDPDSOL IMSL_SP_BDPDFAC IMSL_SP_
7、GMRES IMSL_SP_CG IMSL_SP_MVMUL §2 Eigensystem Analysis (特征系统分析) Linear Eigensystem Problems 线性特征系统问题 IMSL_EIG Generalized Eigensystem Problems 广义特征系统问题 IMSL_EIGSYMGEN IMSL_GENEIG §3 Interpolation and Approximation (差值和拟合) Cubic
8、 Spline Interpolation 三次样条插值 IMSL_CSINTERP IMSL_CSSHAPE B-spline Interpolation B-样条插值 IMSL_BSINTERP IMSL_BSKNOTS B-spline and Cubic Spline Evaluation and Integration B-样条、三次样条评价及综合 IMSL_SPVALUE
9、IMSL_SPINTEG Least-squares Approximation and Smoothing 最小二乘拟和及滤波 IMSL_FCNLSQ IMSL_BSLSQ IMSL_CONLSQ IMSL_CSSMOOTH IMSL_SMOOTHDATA1D Scattered Data Interpolation 离散数据插值 IMSL_SCAT2DINTERP
10、 IMSL_RADBF IMSL_RADBE §4 Quadrature (积分) Univariate and Bivariate Quadrature 一元积分和双重积分 IMSL_INTFCN Arbitrary Dimension Quadrature 任意维的积分 IMSL_INTFCNHYPER IMSL_INTFCN_QMC Gauss Quadrature 高斯积分 I
11、MSL_GQUAD Differentiation 区别 IMSL_FCN_DERIV §5 Differential Equations (微分方程) IMSL_ODE IMSL_PDE_MOL IMSL_POISSON2D §6 Transforms (变换) IMSL_FFTCOMP IMSL_FFTINIT IMSL_CONVOL1D
12、 IMSL_CORR1D IMSL_LAPLACE_INV §7 Nonlinear Equations (非线性方程) Zeros of a Polynomial 多项式的零点 IMSL_ZEROPOLY Zeros of a Function 函数的零点 IMSL_ZEROFCN Root of a System of Equations 方程组的根 IMSL_ZEROSYS §8 Optimization (最优化
13、 Unconstrained Minimization 无约束最小化 IMSL_FMIN IMSL_FMINV IMSL_NLINLSQ Linearly Constrained Minimization 线性约束最小化 IMSL_LINPROG IMSL_QUADPROG Nonlinearly Constrained Minimization 非线性约束最小化 I
14、MSL_MINCONGEN IMSL_CONSTRAINED_NLP §9 Special Functions (特殊函数) Error Functions 误差函数 IMSL_ERF IMSL_ERFC IMSL_BETA IMSL_LNBETA IMSL_BETAI Gamma Functions γ函数 IMSL_LNGAMMA
15、 IMSL_GAMMA_ADV IMSL_GAMMAI Bessel Functions with Real Order and Complex Argument 一般和复杂的贝赛尔函数 IMSL_BESSI IMSL_BESSJ IMSL_BESSK IMSL_BESSY IMSL_BESSI_EXP IMSL_BESSK_EXP Ellip
16、tic Integrals 椭圆积分 IMSL_ELK IMSL_ELE IMSL_ELRF IMSL_ELRD IMSL_ELRJ IMSL_ELRC Fresnel Integrals菲涅耳积分 IMSL_FRESNEL_COSINE IMSL_FRESNEL_SINE Airy Functions Airy函数
17、 IMSL_AIRY_AI IMSL_AIRY_BI Kelvin Functions开尔文函数 IMSL_KELVIN_BER0 IMSL_KELVIN_BEI0 IMSL_KELVIN_KER0 IMSL_KELVIN_KEI0 3. IDL Advanced统计功能详细介绍 §1 Basic Statistics (基础统计) Simple Summary Statistics 简单统计概要
18、 IMSL_SIMPLESTAT IMSL_NORM1SAMP IMSL_NORM2SAMP Tabulate, Sort, and Rank 列表、分类和排列 IMSL_FREQTABLE IMSL_SORTDATA IMSL_RANKS §2 Regression (回归) Multiple Linear Regression 多线性回归 IMSL_REGRESS
19、ORS IMSL_MULTIREGRESS IMSL_MULTIPREDICT Variable Selection 变量选择 IMSL_ALLBEST IMSL_STEPWISE Polynomial and Nonlinear Regression 多项式和非线性回归 IMSL_POLYREGRESS IMSL_POLYPREDICT IMSL_NON
20、LINREGRESS Multivariate Linear Regression—Statistical Inference and Diagnostics 多元线性回归-统计推断和诊断 IMSL_HYPOTH_PARTIAL IMSL_HYPOTH_SCPH IMSL_HYPOTH_TEST Polynomial and Nonlinear Regression 多项式和非线性回归 IMSL_NONLINOPT Altern
21、atives to Least Squares Regression 可选最小二乘回归 IMSL_LNORMREGRESS §3 Correlation and Covariance (相关和协方差) IMSL_COVARIANCES IMSL_PARTIAL_COV IMSL_POOLED_COV IMSL_ROBUST_COV §4 Analysis of Variance (变异分析) IMSL_ANOVA
22、1 IMSL_ANOVAFACT IMSL_MULTICOMP IMSL_ANOVANESTED IMSL_ANOVABALANCED §5 Categorical and Discrete Data Analysis (分类和离散数据分析) Statistics in the Two-Way Contingency Table (双向列联表统计) IMSL_CONTINGENCY IMSL_EXA
23、CT_ENUM IMSL_EXACT_NETWORK Generalized Categorical Models 广义类别模型 IMSL_CAT_GLM §6 Nonparametric Statistics (非参数统计) One Sample Tests—Nonparametric Statistics 单样本检验-非参数统计 IMSL_SIGNTEST IMSL_WILCOXON IMSL_NCTREND
24、S IMSL_CSTRENDS IMSL_TIE_STATS Two or More Samples Tests—Nonparametric Statistics 双样本或多样本检验-非参数统计 IMSL_KW_TEST IMSL_FRIEDMANS_TEST IMSL_COCHRANQ IMSL_KTRENDS §7 Goodness of Fit (拟和优度/配合度) Gener
25、al Goodness of Fit Tests 一般拟和优度检验 IMSL_CHISQTEST IMSL_NORMALITY IMSL_KOLMOGOROV1 IMSL_KOLMOGOROV2 IMSL_MVAR_NORMALITY Tests for Randomness 随机检验 IMSL_RANDOMNESS_TEST §8 Time Series and Forecasting (时间序列
26、和预测) IMSL_ARMA Models IMSL_ARMA 模型 IMSL_ARMA IMSL_DIFFERENCE IMSL_BOXCOXTRANS IMSL_AUTOCORRELATION IMSL_PARTIAL_AC IMSL_LACK_OF_FIT IMSL_GARCH IMSL_KALMAN §9 Multivariate
27、Analysis (多元分析) IMSL_K_MEANS IMSL_PRINC_COMP IMSL_FACTOR_ANALYSIS IMSL_DISCR_ANALYSIS §10 Survival Analysis (生存分析) IMSL_SURVIVAL_GLM §11 Probability Distribution Functions and Inverses (概率分布函数和反转) IMSL_NORMAL
28、CDF IMSL_BINORMALCDF IMSL_CHISQCDF IMSL_FCDF IMSL_TCDF IMSL_GAMMACDF IMSL_BETACDF IMSL_BINOMIALCDF IMSL_BINOMIALPDF IMSL_HYPERGEOCDF IMSL_POISSONCDF
29、§12 Random Number Generation (随机数生成) Random Numbers 随机数 IMSL_RANDOMOPT IMSL_RANDOM_TABLE IMSL_RANDOM IMSL_RANDOM_NPP IMSL_RANDOM_ORDER IMSL_RAND_TABLE_2WAY IMSL_RAND_ORTH_MAT IMSL_RANDOM_SAMPLE IMSL_RAND_FROM_DATA
30、 IMSL_CONT_TABLE IMSL_RAND_GET_CONT IMSL_DISCR_TABLE IMSL_RAND_GEN_DISCR Stochastic Processes 随机过程 IMSL_RANDOM_ARMA Low-discrepancy Sequences 超均匀分布序列 IMSL_FAURE_INIT IMSL_FAURE_NE
31、XT_PT §13 Math and Statistics Utilities(应用数学统计) Dates 日期 IMSL_DAYSTODATE IMSL_DATETODAYS Constants and Data Sets 常量和数据集 IMSL_CONSTANT IMSL_MACHINE IMSL_STATDATA Binomial Coefficient 二项式系数
32、 IMSL_BINOMIALCOEF Geometry 几何排列 IMSL_NORM Matrix Norm 矩阵范数 IMSL_MATRIX_NORM Matrix Entry and Display 矩阵输入和显示 PM RM 4. 需要知道的关于IDL Advanced的几点常识: I.关于license:IDL Advanced是独立注册的IDL模块,如果没有安装IDL Advanced license,那
33、么包含IMSL函数的IDL应用程序将不能运行,也就是说每个终端用户都必须有一个IDL Advanced license。 II.应用IDL Advanced Reference Guide:在IDL Advanced 参考指南中,对二维数组的描述采用的是线性代数惯有的表达方法,即第一个下标代表行,第二个下标代表列。 III.关于IDL Advanced的错误处理: a) 对溢出值的处理。在进行数学和统计分析的时候,经常会遇到值溢出的情况。IDL Advanced将它们分为两类:underflow(下溢)和overflow(超值溢出)。IDL Advanced编写了相应的规则来对这两种溢出
34、进行处理,对于下溢,除非系统(硬件或软件)强制将下溢的值用0代替,否则IDL Advanced将会用自己的规则进行处理;对于超值溢出的情况,IDL Advanced能够检测出程序错误(如错误的数据输入,参数类型不匹配,数组维度错误)导致的超值溢出。 b) 对缺失值的处理。一些IDL Advanced程序允许输入数据包含缺失值,程序把这些缺失值看作“Not a Number”(NaN),其真实值随着硬件环境的不同而不同,可通过“IMSL_MACHINE”得到。不同的IDL Advanced函数对缺失值的处理方式也不同。 c) 对用户代码错误的处理。IDL Advanced为用户提供了更多的关
35、于错误的提示信息。除了基本的IDL错误帮助,IDL Advanced还提供了五级的错误信息,它们分别为: Note:可能发生的微小错误信息,不更新!ERROR_STATE的值 Alert:经常由underflow(下溢)错误导致,不更新!ERROR_STATE的值 Warning:可能会导致输出错误的提示信息,不更新!ERROR_STATE的值 Fatal:一般情况下需要对这种错误进行改正,更新!ERROR_STATE的值 Terminal:严重错误信息,必须对错误进行改正,更新!ERROR_STATE的值 默认情况下,IDL输出日志会打印出所有存在的五种错误信息,用户可以通过设置系统变量!QUIET的值来确定Notes,Alerts和Warnings三种错误信息是否输出。. 5. IDL Advanced的应用实例 计算H原子的概率函数 This example evaluates the probability function for the hydrogen atom.






