가끔 사용하지만 엑셀에서는 편리하게 curve fitting 기능이 있습니다.아래와 같이 이차 방정식 이상의 고차 방정식에도 기능을 지원합니다.기본 그래프에서는 6차까지 지원됩니다.
이것을 수식화하면 이렇게 되는데 12차까지 사용할 수 있기 때문에 편리합니다.Linest는 기본적으로 배열 함수이므로 index의 도움이 필요합니다.
이것을 VBA에서 사용하려면 중괄호 {}가 문제가 됩니다.”{“라고 써도 에러가 나기 때문입니다.사용법에 대해 소스를 정리했습니다.
Sub ex_lin()Dim conf()Dim ran_x As Range, ran_y As RangeSet ran_x=Worksheets(“sheet1”). Range(“$B$6:$B$16”)’x범위를 지정 Set ran_y=Worksheets(“sheet1”). Range(“$C$6:$C$16″)’y범위를 지정 tem_1=ran_x’x범위를 임시 배열에 옮기ReDim tem_2(1To UBound(tem_1), 1To 3)As DoubleFor j=LBound(tem_1)To UBound(tem_1)Step 1 tem_2(j, 1)=tem_1(j, 1)’원 하는 차수만 x의 승수를 올린 tem_2(j, 2)=tem_1(j, 1)^2 tem_2(j, 3)=tem_1(j, 1)^3Nextconf=Application.WorksheetFunction.LinEst(ran_y, tem_2, 0)’배열을 넣어서 계산하는 배열을 갚을 MsgBox conf(1)”,”&conf(2)&conf(3nd)”를 출력한다
포인트는 원하는 순서만큼 배열을 만들어 적용되도록 합니다.Linest는 배열이 바로 처리되도록 되어 있어 편리합니다.값도 소수점 처리가 잘 되어 상당한 정밀 실험을 커버할 수 있습니다.
포인트는 원하는 순서만큼 배열을 만들어 적용되도록 합니다.Linest는 배열이 바로 처리되도록 되어 있어 편리합니다.값도 소수점 처리가 잘 되어 상당한 정밀 실험을 커버할 수 있습니다.