논리/엑셀 프로그래밍

2차원 보간법 수치 찾기

섬그늘 2008. 11. 14. 11:13

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

2

20

기압

 

3

 

10

50

 

1.0353

1.191

1.0742

 

T/P

1

5

10

50

3

70

 

2

 

0

100

 

1.0284

1.1102

1.0489

 

-100

1.0105

1.054

1.113

1.82

4

 

 

 

 

 

 

 

 

 

f=

1.0565

 

0

1.0039

1.0177

1.0353

1.191

5

 

 

 

 

 

 

 

 

 

 

 

 

100

1.0039

1.018

1.0284

1.1102

6

 

 

 

 

 

 

 

 

 

 

 

 

110

1.0039

1.0188

1.0295

1.1082

7

 

 

 

 

 

 

 

 

 

 

 

 

150

1.0039

1.0022

1.0288

1.111

8

 

 

 

 

 

 

 

 

 

 

 

 

160

1.0039

1.0022

1.0235

1.114

 

E2 =MATCH(B2,O2:R2,1)

E3 =MATCH(B3,N3:N8,1) ; 이와 같이, MATCH함수의 1 옵션을 쓰면 그 데이타를 넘지 않는 최대구간의 위치를 돌려줍니다. 예로써 E2의 경우 1, 5, 10, 50 기압의 열 중 20을 넘지 않는 최대열은 3번(10기압) 열을 돌려주지요. 이하는 그 데이타를 입력으로 사용, 보간법 수치를 내는 과정입니다. 즉,

 

G2 =INDEX(O2:R2,1,E2)

H2 =INDEX(O2:R2,1,E2+1)

G3 =INDEX(N3:N8,E3,1)

H3 =INDEX(N3:N8,E3+1,1)

J2 =INDEX($O$3:$R$8,E$3,E$2)

K2 =INDEX($O$3:$R$8,E$3,E$2+1)

L2 =J2+(K2-J2)*($B$2-G$2)/(H$2-G$2) ; (70도가 들어 있는 구간의 처음 0도의 20기압에 해당하는 f)

J3 =INDEX($O$3:$R$8,E$3+1,E$2)

K3 =INDEX($O$3:$R$8,E$3+1,E$2+1)

L3 =J3+(K3-J3)*($B$2-G$2)/(H$2-G$2) ; (70도가 들어 있는 구간의 끝 100도의 20기압에 해당하는 f)

L4 =L2+(L3-L2)*(B3-G3)/(H3-G3) ; (L2, L3를 y좌표로 두어 x=0~100도 중 70도에 해당하는 y를 구함)

 

참고로, L4의 수식에 G2:L3를 밀어 넣어 한 셀로 정리할 수는 있지만 수식이 무척 길어질 겁니다. (한번 정리된 이후에는 G2:L4가 필요 없음)