【IDL】IDL Advanced及其详细功能介绍

IDL AdvancedIDL的一个新的增值模块,它全面集成了IMSLTM C Numerical Library的数学和统计程序,在IDL原有的交互式数据分析和可视化功能基础上增加了复杂的数学和统计功能。IMSLInternational Mathematics and Statistics Library)是由Visual Numerics,Inc20世纪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 矩阵转置

      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 全矩阵线性最小二乘

      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_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 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

             IMSL_SPINTEG

      Least-squares Approximation and Smoothing 最小二乘拟和及滤波

             IMSL_FCNLSQ

             IMSL_BSLSQ

             IMSL_CONLSQ

             IMSL_CSSMOOTH

             IMSL_SMOOTHDATA1D

      Scattered Data Interpolation 离散数据插值

             IMSL_SCAT2DINTERP

             IMSL_RADBF

             IMSL_RADBE

§4 Quadrature (积分)

      Univariate and Bivariate Quadrature 一元积分和双重积分

             IMSL_INTFCN

      Arbitrary Dimension Quadrature 任意维的积分

             IMSL_INTFCNHYPER

             IMSL_INTFCN_QMC

      Gauss Quadrature 高斯积分

             IMSL_GQUAD

      Differentiation 区别

             IMSL_FCN_DERIV

§5 Differential Equations (微分方程)

             IMSL_ODE

             IMSL_PDE_MOL

             IMSL_POISSON2D

§6 Transforms (变换)

             IMSL_FFTCOMP

             IMSL_FFTINIT

             IMSL_CONVOL1D

             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 (最优化)

      Unconstrained Minimization 无约束最小化

             IMSL_FMIN

             IMSL_FMINV

             IMSL_NLINLSQ

      Linearly Constrained Minimization 线性约束最小化

             IMSL_LINPROG

             IMSL_QUADPROG

      Nonlinearly Constrained Minimization 非线性约束最小化

             IMSL_MINCONGEN

             IMSL_CONSTRAINED_NLP

§9 Special Functions (特殊函数)

      Error Functions 误差函数

             IMSL_ERF

             IMSL_ERFC

             IMSL_BETA

             IMSL_LNBETA

             IMSL_BETAI

      Gamma Functions  γ函数

             IMSL_LNGAMMA

             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

      Elliptic Integrals 椭圆积分

             IMSL_ELK

             IMSL_ELE

             IMSL_ELRF

             IMSL_ELRD

             IMSL_ELRJ

             IMSL_ELRC

      Fresnel Integrals菲涅耳积分

             IMSL_FRESNEL_COSINE

             IMSL_FRESNEL_SINE

      Airy Functions Airy函数

             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 简单统计概要

             IMSL_SIMPLESTAT

             IMSL_NORM1SAMP

             IMSL_NORM2SAMP

      Tabulate, Sort, and Rank 列表、分类和排列

             IMSL_FREQTABLE

             IMSL_SORTDATA

             IMSL_RANKS

§2 Regression (回归)

      Multiple Linear Regression 多线性回归

             IMSL_REGRESSORS

             IMSL_MULTIREGRESS

             IMSL_MULTIPREDICT

      Variable Selection 变量选择

             IMSL_ALLBEST

             IMSL_STEPWISE

      Polynomial and Nonlinear Regression 多项式和非线性回归

             IMSL_POLYREGRESS

             IMSL_POLYPREDICT

             IMSL_NONLINREGRESS

      Multivariate Linear Regression—Statistical Inference and Diagnostics 多元线性回归-统计推断和诊断

             IMSL_HYPOTH_PARTIAL

             IMSL_HYPOTH_SCPH

             IMSL_HYPOTH_TEST

      Polynomial and Nonlinear Regression 多项式和非线性回归

             IMSL_NONLINOPT

      Alternatives 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_ANOVA1

             IMSL_ANOVAFACT

             IMSL_MULTICOMP

             IMSL_ANOVANESTED

             IMSL_ANOVABALANCED

§5 Categorical and Discrete Data Analysis (分类和离散数据分析)

      Statistics in the Two-Way Contingency Table (双向列联表统计)

             IMSL_CONTINGENCY

             IMSL_EXACT_ENUM

             IMSL_EXACT_NETWORK

      Generalized Categorical Models 广义类别模型

             IMSL_CAT_GLM

§6 Nonparametric Statistics (非参数统计)

      One Sample Tests—Nonparametric Statistics 单样本检验-非参数统计

             IMSL_SIGNTEST

             IMSL_WILCOXON

             IMSL_NCTRENDS

             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 (拟和优度/配合度)

      General 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 (时间序列和预测)

      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 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_NORMALCDF

             IMSL_BINORMALCDF

             IMSL_CHISQCDF

             IMSL_FCDF

             IMSL_TCDF

             IMSL_GAMMACDF

             IMSL_BETACDF

             IMSL_BINOMIALCDF

             IMSL_BINOMIALPDF

             IMSL_HYPERGEOCDF

             IMSL_POISSONCDF

§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

             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_NEXT_PT

§13 Math and Statistics Utilities(应用数学统计)

      Dates 日期

             IMSL_DAYSTODATE

             IMSL_DATETODAYS

      Constants and Data Sets 常量和数据集

             IMSL_CONSTANT

             IMSL_MACHINE

             IMSL_STATDATA

      Binomial Coefficient 二项式系数

             IMSL_BINOMIALCOEF

      Geometry 几何排列

             IMSL_NORM

      Matrix Norm 矩阵范数

             IMSL_MATRIX_NORM

      Matrix Entry and Display 矩阵输入和显示

             PM

             RM

4. 需要知道的关于IDL Advanced的几点常识:

I.关于licenseIDL 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的值来确定NotesAlertsWarnings三种错误信息是否输出。.

5.  IDL Advanced的应用实例

 

计算H原子的概率函数


This example evaluates

the probability function for the hydrogen atom.

posted @ 2022-06-08 10:09  ENVI-IDL技术殿堂  阅读(625)  评论(0编辑  收藏  举报