Chap. 5 비선형방정식의해법 (1) - 구간법 CAE 기본개념소개 비선형방정식의개요 증분탐색법 이분법 가위치법 1 Chap.5 비선형방정식 (1) 비선형방정식 (Nonlinear Equation) 선형방정식 : Ax = b 해석적인방법으로방정식을만족하는해의계산이용이함한번의계산으로해를구할수있음 x = A -1 b (Direct calculation) Example: 하중을받는부재의탄성변형 비선형방정식특수한경우 ( 예. 2차함수 ) 를제외하고는해석적인방법으로해를구하기어려움초기치근사및반복계산에의해실제해에근접한근사해를얻어야함 계산시간증대해의수렴성 (convergence) 이항상보장되지는않음 Example: 기하학적비선형성, 재료의비선형성, 경계조건의비선형성등고정점반복법, 2분법, Newton-Raphson 반복법, Secant법등 2 Chap.5 비선형방정식 (1) 1
그래프를사용한비선형방정식해법 dv cd 2 g v dt m v( t) gm tanh c d gcd m t f(m) Q: 자유낙하 4 초후에 36 m/s 를초과하지않는임계질량? ( 단항력계수는 0.25 kg/m) m (kg) 3 Chap.5 비선형방정식 (1) 구간법과개방법 구간법 (Braketing Methods) 정해진폐구간 [a, b] 사이에서해를찾는방법구간의양끝을나타내는 2개의초기가정값사용수렴성보장되나수렴속도늦음 Ex) 증분탐색법, 이분법, 가위치법등 개방법 (Open Methods) 특정한구간없이한개의초기값에서시작하여해를찾는방법수렴성이항상보장되지는않음수렴속도는구간법에비하여빠름 Ex) 고정점반복법, Newton-Raphson법, 할선법등 4 Chap.5 비선형방정식 (1) 2
초기근사치 (Initial Guess) 초기근사치의설정방법 5 Chap.5 비선형방정식 (1) 구간법에서의해의개수 6 Chap.5 비선형방정식 (1) 3
증분탐색법 증분탐색법 (Incremental Searching Method) 구간내부를일정한증분으로분할하여함수의부호가바뀌는부분탐색 증분의구간길이선택에따라결과에차이발생 7 Chap.5 비선형방정식 (1) 증분탐색법 M File function xb = incsearch(func,xmin,xmax,ns) % xb = incsearch(func,xmin,xmax,ns): % finds brackets of x that contain sign changes of % a function on an interval % input: % func = name of function % xmin, xmax = points of interval % ns = (optional) number of subintervals along x % used to search for brackets % output: % xb(k,1) is the lower bound of the kth sign change % xb(k,2) is the upper bound of the kth sign change % If no brackets found, xb = []. if nargin < 4, ns = 50; %if ns blank set to 50 % Incremental search x = linspace(xmin,xmax,ns); f = func(x); nb = 0; xb = []; %xb is null unless sign change detected for k = 1:length(x)-1 if sign(f(k)) ~= sign(f(k+1)) %check for sign change nb = nb + 1; xb(nb,1) = x(k); xb(nb,2) = x(k+1); if isempty(xb) %no brackets were found disp('no brackets found') disp('check interval or increase ns') else disp('number of brackets:') %number of brackets disp(nb) 8 Chap.5 비선형방정식 (1) 4
증분탐색법 f (x) = sin(10x) + cos(3x), [3, 6] p. 143 예제 5.2 Default: ns = 50 ns = 100 9 Chap.5 비선형방정식 (1) 2 분법 (Bisection Method) 방정식 f (x) = 0 x x l x u 에서 f(x) 가연속이고, f (x l ) f (x u )< 0 일때해는 x l 과 x u 사이에존재 초기근사치 : 제 1 근사해 제 2 근사해 10 Chap.5 비선형방정식 (1) 5
2 분법 (Bisection Method) 11 Chap.5 비선형방정식 (1) 2 분법에서의오차및반복횟수 12 Chap.5 비선형방정식 (1) 6
2 분법 Example 13 Chap.5 비선형방정식 (1) 2 분법 알고리즘 Ex) p. 145 예제 5.3 gm gc d f ( m) tanh t v( t) c m d 14 Chap.5 비선형방정식 (1) 7
이분법 M File function [root, ea, iter] = bisection(func,xl,xu,es,maxit) % root = bisection(func,xl,xu,es,maxit): % uses bisection method to find the root of a function % input: % func = name of function % xl, xu = lower and upper guesses % es = (optional) stopping criterion (%) % maxit = (optional) maximum allowable iterations % output: % root = real root if nargin<3, error( insufficient arguments ), test = func(xl) * func(xu); if test>0, error( no sign change ), % if necessary, assign default values if nargin<5, maxit=50; %if maxit blank set to 50 if nargin<4, es=0.001; %if es blank set to 0.001 % bisection iter = 0; xr = xl; while (1) xrold = xr; xr = (xl + xu)/2; iter = iter + 1; if xr ~= 0, ea = abs((xr - xrold)/xr) * 100; test = func(xl) * func(xu); if test < 0 xu = xr; elseif test > 0 xl = xr; else ea = 0; if ea <= es iter >= maxit, break, root = xr; 15 Chap.5 비선형방정식 (1) 가위치법 (False Position Method) 2분법에서새로운 x r 값을평균대신양구간점을연결한직선과 x축간의교점으로계산 x r x u xl f ( x ) l xu f ( x u ) f ( x u ) Ex) p. 152 예제 5.5~5.6 16 Chap.5 비선형방정식 (1) 8
[ 사례연구 ] 온실가스와빗물 (p. 152 ~ 156) 1958 년부터 2003 년까지 Hawaii 의 Mauna Loa 에서수집된이산화탄소의농도증가경향 p CO 2 0.011825( t 1980.5) 1.356975( t 1980.5) 339 ( unit : ppm) 2 상기이산화탄소의농도증가가빗물의산성도에미치는영향 ph log 10 [ H ] (where [H + ] : 수소이온의몰농도 ) [H + ] : 를구하기위한비선형방정식 ( 식 5.17) K 6 10 [ H K ] K2K1 2 6 10 [ H ] K [ H 0 1 w H pco K p 2 2 H CO 2 [ H ] ] CO 2 농도 (19% 증가 ) 1958년 : 315 2003년 : 376 Where K 1 = 10-6.3, K 2 = 10-10.3, K H = 10-1.46, K w = 10-14 청결한지역의빗물의 ph 는항상 2 ~ 12 사이의범위임 17 Chap.5 비선형방정식 (1) 9