|||
;
;功能:
; 多项式的估值功能函数
; y=p1*x^n+p2*x^(n-1)+...+pn*x+p(n+1)
; IDL帮助中未搜到,故写个备用
;
;参数:
; P为多形式的系数
; x为变量值(可以是数组)
;
;调用方法:
; IDL> p= [3,2,1]
; IDL> x = [5,7,9]
; IDL> print,polyval(p,x)
; 86.000000 162.00000 262.00000
;
; Author: DYQ 2011-10-13
; BBS: http://bbs.esrichina-bj.cn/ESRI/forum-28-1.html
; E-Mail: dongyq@esrichina-bj.cn
; Blog: http://hi.baidu.com/dyqwrp
;-
FUNCTION POLYVAL,p,x
CATCH, error_status
IF Error_status NE 0 THEN BEGIN
void = DIALOG_MESSAGE(!ERROR_STATE.MSG,/error,title='出错了!')
RETURN,-1
ENDIF
nDegree = N_ELEMENTS(p)
rValue = 0.D
FOR i=0,nDegree-1 DO rValue+= p[i]*x^(nDegree-1-i)
RETURN,rValue
END
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 01:21
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社