【IDL】IDL Advanced及其详细功能介绍
IDL Advanced是IDL的一个新的增值模块,它全面集成了IMSLTM C Numerical Library的数学和统计程序,在IDL原有的交互式数据分析和可视化功能基础上增加了复杂的数学和统计功能。IMSL(International Mathematics and Statistics Library)是由Visual Numerics,Inc从20世纪70年代开始开发的包含全面的数学和统计函数的软件包,拥有超过300个已证明且精准的数学统计算法,IDL Advanced中包含了除金融方面函数之外的整个C语言库。
IDL Advanced为科学家和专业领域的工程师提供了185个经过证明的运算函数,在IDL环境下,用户只需要简单地调用这些函数到自己的应用程序中,就可以实现复杂的数学和统计运算,并可以进行运算结果的快速可视化。
1. IMSL 数学和统计功能列表:
Linear System (线性系统)
Eigensystem Analysis (特征系统分析)
Interpolation and Approximation (差值和拟合)
Quadrature (积分)
Differential Equations (微分方程)
Transforms (变换)
Nonlinear Equations (非线性方程)
Optimization (最优化)
Special Functions (特殊函数)
Basic Statistics and Random Number Generators (基础统计和随机数产生)
Regression (回归)
Correlation and Covariance (相关和协方差)
Analysis of Variance (变异分析)
Categorical 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 Statistics Utilities(应用数学统计)
2. IDL Advanced 数学功能详细介绍
§1 Linear System (线性系统)
Matrix Inversion 矩阵转置
Linear Equations with Full Matrices 全矩阵线性方程
Linear Least Squares with Full Matrices 全矩阵线性最小二乘
Sparse Matrices 稀疏矩阵
§2 Eigensystem Analysis (特征系统分析)
§3 Interpolation and Approximation (差值和拟合)
§4 Quadrature (积分)
§5 Differential Equations (微分方程)
§6 Transforms (变换)
§7 Nonlinear Equations (非线性方程)
§8 Optimization (最优化)
§9 Special Functions (特殊函数)
3. IDL Advanced 统计功能详细介绍
§1 Basic Statistics (基础统计)
§2 Regression (回归)
§3 Correlation and Covariance (相关和协方差)
§4 Analysis of Variance (变异分析)
§5 Categorical and Discrete Data Analysis (分类和离散数据分析)
§6 Nonparametric Statistics (非参数统计)
§7 Goodness of Fit (拟和优度/配合度)
§8 Time Series and Forecasting (时间序列和预测)
§9 Multivariate Analysis (多元分析)
§10 Survival Analysis (生存分析)
§11 Probability Distribution Functions and Inverses (概率分布函数和反转)
§12 Random Number Generation (随机数生成)
§13 Math and Statistics Utilities(应用数学统计)
4. 需要知道的关于IDL Advanced的几点常识:
I.关于license:IDL Advanced是独立注册的IDL模块,如果没有安装IDL Advanced license,那么包含IMSL函数的IDL应用程序将不能运行,也就是说每个终端用户都必须有一个IDL Advanced license。
II.应用IDL Advanced Reference Guide:在IDL Advanced 参考指南中,对二维数组的描述采用的是线性代数惯有的表达方法,即第一个下标代表行,第二个下标代表列。
III.关于IDL Advanced的错误处理:
a) 对溢出值的处理。在进行数学和统计分析的时候,经常会遇到值溢出的情况。IDL Advanced将它们分为两类:underflow(下溢)和overflow(超值溢出)。IDL Advanced编写了相应的规则来对这两种溢出进行处理,对于下溢,除非系统(硬件或软件)强制将下溢的值用0代替,否则IDL Advanced将会用自己的规则进行处理;对于超值溢出的情况,IDL Advanced能够检测出程序错误(如错误的数据输入,参数类型不匹配,数组维度错误)导致的超值溢出。
b) 对缺失值的处理。一些IDL Advanced程序允许输入数据包含缺失值,程序把这些缺失值看作“Not a Number”(NaN),其真实值随着硬件环境的不同而不同,可通过“IMSL_MACHINE”得到。不同的IDL Advanced函数对缺失值的处理方式也不同。
c) 对用户代码错误的处理。IDL Advanced为用户提供了更多的关于错误的提示信息。除了基本的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.