对数组X,函数Y与之对应关系如下: 如果X小于0.1那么函数就是 y=9.3x+0.072 如果x大于0.1小于0.35那么函数就是y=0.16 如果X大于0.35小于1.75那么函数就是y=0.0504/x 如果x大于1.75小于20那么函数就是y=0.88-0.0035x 其他情况y=x 那么如果用IDL程序实现可以用IF THEN ELSE来写,如下: x=FINDGEN(2000)*(0.01) y = x FOR i=0,N_ELEMENTS(x)-1 DO BEGIN IF x LT 0.1 THEN BEGIN y = 9.3*x +0.072 ENDIF ELSE IF x LT 0.35 THEN BEGIN y = 0.16 ENDIF ELSE IF x LT 1.75 THEN BEGIN y =0.0504/x ENDIF ELSE IF x LT 20 THEN y = 0.88-0.0035*x ENDFOR 当然,为了省事好看,可以用case来实现,简介明了: x=FINDGEN(2000)*(0.01) y = x FOR i=0,N_ELEMENTS(x)-1 DO BEGIN CASE 1 OF x LT 0.1: y = 9.3*x +0.072 (x GE 0.1) AND (x LT 0.35): y = 0.16 (x GE 0.35) AND (x LT 1.75): y =0.0504/x (x GE 1.75) AND (x LT 20): y = 0.88-0.0035*x ELSE: ENDCASE ENDFOR