【IDL】PolyVal函数(多项式的估值)

;
;功能:
;   多项式的估值功能函数

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

 

posted @ 2022-06-08 12:36  ENVI-IDL技术殿堂  阅读(302)  评论(0)    收藏  举报