수치해석 6009 Ch7. Polyomial Iterpolatio
다항식보간법 T C ρ kg/m µ N s/m v m /s -40 0 0 50 00 50 00 50 00 400.5.9.0.09 0.946 0.85 0.746 0.675 0.66 0.55.5 0-5.7 0-5.80 0-5.95 0-5.7 0-5.8 0-5.57 0-5.75 0-5.9 0-5.5 0-5 0.99 0-5. 0-5.50 0-5.79 0-5.0 0-5.85 0-5.45 0-5 4.08 0-5 4.75 0-5 6.0 0-5 500 0.457.55 0-5 7.77 0-5 표에포함되지않은온도에서의밀도 점성계수 그리고동점성계수는? 가장간단한방법은인접한두점을잇는직선을구한후 그직선식을이 용 - " 선형보간법 데이터가상당히큰곡률을가지면오차가발생 적절한추정값을얻을수있는여러방법을검토
7. 보간법의소개 / 다항식보간법 정확한데이터점들사이에위치한값을추정 개의데이터점을지나는유일한 차다항식으로값을추정 a a a L a 두점을지나는유일한직선 차다항식 세점을지나는유일한포물선 차다항식 a 두점을잇는 차식 b 세점을잇는포물선 c 네점을잇는 차식 `
7. 보간법의소개 / 유의사항 : MATLAB 은다항식을내림차순으로표현 L p p p p 다항식계수의결정 개의대수방정식으로 개의계수를동시에결정 명료한방법
예제 7. / Q. 표 7.의아래쪽에기재된세개의밀도값을지나는 포물선 p p p의계수를구하라. T C ρ kg/m µ N s/m v m /s -40 0 0 50 00 50 00 50 00 400 500.5.9.0.09 0.946 0.85 0.746 0.675 0.66 0.55 0.457.5 0-5.7 0-5.80 0-5.95 0-5.7 0-5.8 0-5.57 0-5.75 0-5.9 0-5.5 0-5.55 0-5 0.99 0-5. 0-5.50 0-5.79 0-5.0 0-5.85 0-5.45 0-5 4.08 0-5 4.75 0-5 6.0 0-5 7.77 0-5 Sol 00 400 500 0. 66 0. 55 0. 457 90000 60000 50000 00 400 500 p p p 0. 66 p 0. 55 p 0. 457 p 0.66 0.55 0.457 00 400 500 p p p 00 400 500 p p p
예제 7. / >> ormat log >> A [90000 00 ; 60000 400 ; 50000 500 ]; >> b [0.66 0.55 0.457]'; >> p A\b p 0.000005000000-0.007500000000.0700000000000 다항식은 0.000005 0.0075.07 50 C 에서의밀도를계산하면 50 0.00000550 0.007550.07 0.56765
7. 보간법의소개 / 예제에나타나는계수행렬은특정한형태의구조를가진다. L L M M O M M L L p p M p p M Vadermode matri 매우불량한조건의행렬 반올림오차에매우민감 다른방법으로컴퓨터실행에적합한 Newto 과 Lagrage 다항식을다룬다. MATLAB 함수 : polyit 과 polyval 데이터점의수 > 계수의수 다항식회귀분석 데이터점의수 계수의수 다항식보간
7. Newto 보간다항식 /6 Order st d a a Simple Newto a a a b b b b b 선형보간법 닮은꼴삼각형에서 Newto 선형보간공식 차도함수의유한제차분근사값 여기서 차보간다항식 간격이작을수록 보다나은근사값 선형보간법의도식적표현
예제 7. 선형보간법 Q. 선형보간법을이용하여자연로그 l를계산하라. 먼저보간법으로 l 0과 l 6. 79759사이에서추정하고 그다음에더작은간격인 l 과 l 4.8694 사이에서추정하라. 참고로 l 0.6947 풀이 과 6 에대하여.79759 0 0 6 0.5859 과 4에대하여.8694 0 0 4 0.46098 백분율상대오차는각각 48.% 와.% 이다.
7. Newto 보간다항식 /6 차보간법 세개의데이터점 차다항식 포물선 b b b Taylor 급수전개와유사함 b b 두점 과 를잇는직선의기울기 b 차곡률 차도함수의유한제차분근사와매우유사 식 4.7 참조
예제 7. 차보간법 Q. 세점 l 0 l 4.8694 l 6. 79759 과 차 Newto 다항식을이용하여 l의값을추정하라. 풀이 4 6 0.8694.79759.8694 0 b 0 b 0. 46098 4.79759.8694 0.46098 b 6 4 0.0587 6 0 0.46098 0.0587 4 0.5658444 추정값이갖는백분율상대오차는 8.4% 이다.
7. Newto 보간다항식 /6 Newto 보간다항식의일반적인형태 개의데이터점에 차다항식을접합시키는것으로일반화할수있다. b b L b L 개의데이터점 ][ 계수 b b L b 을계산한다. L b [ ] L[ ] 을이용하여 b b b b M [ [ [ ] ] K ]
여기서괄호로표시된함수는유한제차분을나타낸다. 차유한제차분 차유한제차분 - 차유한제차분 7. 7. 7. 7. Newto Newto Newto Newto 보간다항식보간다항식보간다항식보간다항식 4/6 4/6 4/6 4/6 j i j i j i ] [ k i k j j i k j i ] [ ] [ ] [ - 차유한제차분일반적인 Newto 보간다항식 ] [ ] [ ] [ K L L ] [ ] [ ] [ K K K
7. Newto 보간다항식 5/6 데이터점들이등간격일필요가없고 수평축의좌표값이올림차순일필요도없다. 고차차분이저차차분의차이에의해계산되어지는순환적인 recursive 시스템이다.
예제 7.4 Newto 보간다항식 / Q. 차 Newto 보간다항식으로 l 의값을추정하라. 사용되는네개의데이터점은 [ ; 0] [ 4.8694] [ 6;.79759] 그리고 [ 4 5; 4.60948] 이다. Sol b b b b4 차제차분을계산하면.8694 0 [ ] 0.46098 4.79759.8694 [ ] 0.076 6 4.60948.79759 [ 4 ] 0.86 5 6
예제 7.4 Newto 보간다항식 / 차제차분 : 차제차분 : 0.076 0.46098 ] 0.0587 6 [ 0.86 0.076 4 ] 0.00400 5 4 [ 0.00400 0.0587 4 ] 5 [ 0.00786559 i i First Secod Third 4 6 5 0.8694.79759.60948 0.46098 0.076 0.86-0.0587-0.00400 0.00786559 0 0.46098 0.0587 0.00786559 4 6 0.687686 4
7. Newto 보간다항식 6/6 uctio yit Newity % Newity % Newto iterpolatio uses a --order Newto iterpolatig % polyomial based o data poits y to determie yit at. % iput % idepedet variable % y depedet variable % value o idepedet variable or iterpolatio % output % yit iterpolated value o depedet variable % compute a dierece table legth; i legthy ~ error ' ad y must be same legth'; ed b zeros; % assig depedet variables to the irst colum o b b: y:; % : esures that y is a colum vector or j : or i:-j bij bij--bij-/ij--i; ed Ed % use the iite divided diereces to iterpolate t ; yit b; or j :- t t.*-j; yit yit bj*t; ed >> ormat log >> [ 4 6 5]'; >> y log; >> Newity % l as 0.687685789084 >> [ 4 5 6]'; % 6 >> ormat short >> Newity as 0 0.688.075.86.6094.798 >> Newity % l as 0.688
7. Lagrage 보간다항식 / Order Simple Lagrage st a a L L d a a a L L L 직선으로연결하고자하는두값의가중평균으로선형보간다항식을만들면 L L 여기서 L: 직선에대한가중계수 L L 0 L L 0 L L : 선형 Lagrage 보간다항식
7. 7. 7. 7. Lagrage Lagrage Lagrage Lagrage 보간다항식보간다항식보간다항식보간다항식 / / / / 세점에대해확장 차 Lagrage 보간다항식 각포물선은세점중한점을지나고나머지점에서는 0 이다. 세포물선의합은세점을지나는유일한포물선이다. 고차 Lagrage 다항식으로일반화하면여기서 i i i L i j j j i j i L
예제 7.5 Lagrage 보간다항식 Q. 다음에주어지는데이터를사용하여 차와 차 Lagrage 보간다항식으로 T 5 C 에서의모터오일의밀도를계산하라. 0.85 0 40 0.800 0. Sol 차 Lagrage 다항식 : 5 0 5 0.85 0.800 0 0 0 0 차 Lagrage 다항식 : 5 05 40.85 0 00 40.565 5 05 40 0.800 0 00 40 5 05 0 0..6875 40 040 0
7. Lagrage 보간다항식 / uctio yit Lagragey % Lagragey % Lagrage iterpolatio uses a --order Lagrage iterpolatig % polyomial based o data poits y to determie yit at. % iput % idepedet variable % y depedet variable % value o idepedet variable or iterpolatio % output % yit iterpolated value o depedet variable legth; i legthy ~ error ' ad y must be same legth'; ed s 0; or i : product yi; or j : i i ~ j product product * -j/i-j; ed ed s s product; ed yit s; >> ormat log; T [-40 0 0 50]'; d [.5.9..09]'; desity LagrageTd5 desity.847
7.4 역보간법 / 4 5 6 7 0.5 0. 0.5 0. 0.667 0.49 주어진자료를이용하여 0.에해당되는 값은어떻게구하는가? / /0.. 역보간법 : 주어진 의값에해당하는 값을구하는문제 새로운 0.49 0.667 0. 0.5 0. 0.5 새로운 7 6 5 4 수평축이부등간격이됨 많은점들이촘촘히위치하고몇개가동떨어짐 진동현상을초래할위험이큼! 다항식접합에불량조건을갖는경우
7.4 역보간법 / 극복하는다른방법 일반적으로등간격 에대해구해진다항식 을원래데이터에접합 근을구하는문제 - desired 0 or Eg 세점 0.5 0. 그리고 4 0.5 에대해 차보간다항식은다음과같으므로 0.04667 0.75.08 0. 0.04667 0.75.08 0.75 ± 0.75 40.046670.78 0.04667 5.70458 or.9584 참고로정해는.
7.5 외삽법과진동 / 외삽법 etrapolatio 주어진기본점들의밖에위치한 에대해 의값을추정 실제곡선은예측값으로부터쉽게벗어날수있으므로 외삽을수행할경우매우주의하여야한다.
예제 7.6 외삽법의위험성 / Q. 표는 90 년부터 000 년까지의미국의인구를백만 명단위로나타낸것이다. 년도 90 90 940 950 960 970 980 990 000 인구 06.46.08. 5.7 80.67 05.05 7. 49.46 8.4 처음 8 개의점 90 년에서 990 년까지 에대하여 7 차 다항식을접합시켜라. 이다항식과외삽법을이용하여 000 년의인구를예측하고실제값과비교하라.
예제 7.6 외삽법의위험성 / >> t [90:0:990]; >> pop [06.46.08. 5.7 80.67 05.05 7. 49.46]; >> p polyitt pop 7; Warig: Polyomial is badly coditioed. Remove repeated data poits or try ceterig ad scalig as described i HELP POLYFIT. >> ts t-955/5; >> p polyitts pop 7 p Colums through 8-6.99 -.956 47.0977 8.565-5.58 6.456 0.694 66.5 >> p000 polyvalp 000-955/5 p000 75.0800 >> ttlispace90000; >> pp polyvalp tt-955/5; >> plottpop'o'ttpp
7.5 외삽법과진동 / 진동 차수가 더많으면더좋은가 "? 다항식보간법에서는절대로그렇지않다. 고차다항식은반올림오차에민감하여불량한조건이되기쉽다.
예제 7.7 고차다항식보간법의위험성 / Q. 90 년에 Carl Ruge 는간단한함수로고차다항식 보간법의위험성을보였다. 5 이함수는 Ruge 함수라고불린다. 구간 [- ] 에서등간격으로 5개와 개로데이터가주어질때 polyit 함수와 polyval 함수를사용하여 4차와 0차다항식으로접합시켜예측한값을실제값과그림으로비교하라.
예제 7.7 고차다항식보간법의위험성 / >> lispace-5; y./5*.^; lispace-; >> p polyity4; y4 polyvalp; yr./5*.^; ploty'o'y4yr'--' % 4차보간다항식결과그래프 >> lispace-; y./5*.^; p polyity0; y0 polyvalp; ploty'o'y0yr'--' % 0차보간다항식결과그래프 보통의경우에는고차다항식의사용을피해야한다