제 6 장. 방정식의 풀이 -...

36
7 . 방정식의 풀이

Transcript of 제 6 장. 방정식의 풀이 -...

Page 1: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

제 7 장.

방정식의 풀이

Page 2: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

Newton 방법

• 방정식 을 푸는 Newton 방법에서는 임의의 점에서 의 그래프에 접선을 그리고 이 접선이

x 축과 만나는 점을 정한다. 이 방법에서는 하나의 출발점 가 필요하다. 이후 반복과정은

로 쓸 수 있다. 이를 수행하는 MATLAB 코드는 다음과 같다.

k = 0

while abs(x - xprev) > eps*abs(x)

xprev = x;

x = x - f(x)/fprime(x)

k = k + 1;

end

Page 3: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• Newton 방법을 이용하면 제곱근을 능률적으로 계산할 수 있다. 의 계산은 방

정식

의 풀이와 대등하다. 이 경우 이고

이다. 즉 x와 M/x의 평균이 반복해서 계산된다. MATLAB 코드는 다음과 같다.

while abs(x - xprev) > eps*abs(x) xprev = x; x = 0.5*(x + M/x); end

Page 4: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 에서 시작한 의 계산결과.

1.50000000000000 1.41666666666667 1.41421568627451 1.41421356237469 1.41421356237309 1.41421356237309

Page 5: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

할선법(Secant Method)

• 할선법은 Newton 방법의 미분계산을 가장 최근의 두 반복단계에 근거하는 유한차분

근사로 대체한 방법이다.

• 한 점에서 의 그래프에 접선을 긋는 대신에 두 점을 지나는 할선을 긋는다. 그 다음의

반복점은 이 할선과 x축과의 교차점이다. 반복단계의 시초에서는 두 출발점 와 이 요

구되며 이어지는 반복단계는 다음과 같다.

Page 6: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 이 공식으로부터 Newton 방법에서의 가 할선 의 기울기로 대체되었음을 명

확하게 알 수 있다. 위의 관계는 다음의 MATLAB 코드로 수행할 수 있다.

while abs(b - a) > eps*abs(b)

c = a; a = b; b = b + (b-c)/(f(c)/f(b)-1); k = k + 1; end

위에서 함수 f는 다음의 M-파일 함수 f.m으로 정의할 수 있다.

function v = f(x)

v = x^2 - 2;

Page 7: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 에 대하여 a=1, b=2인 경우 할선법에서는 Newton 방법의 6단계에 비하여 7단

계의 반복계산이 소요된다.

1.33333333333333 1.40000000000000 1.41463414634146 1.41421143847487 1.41421356205732 1.41421356237310 1.41421356237310

• Newton 방법에 대한 할선법의 일차적인 잇점은 를 계산하는 코드가 필요하

지 않다는 점이다. 수렴성은 두 방법이 거의 비슷하다.

Page 8: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

MATLAB 함수를 이용한 방정식의 풀이

• solve 함수

• 함수 solve를 이용하여 변수들을 포함하는 방정식을 풀 수 있다. 예를 들어 2차 방정

의 해를 구하고자 한다면 다음을 입력한다.

>> solve('x^2 - 2*x - 4 = 0') ans = 5^(1/2)+1 1-5^(1/2)

근을 구할 식은 문자열로 지정된다. 수치해를 얻으려면 double(ans)를 입력하며 더

많은 자리수를 나타내려면 vpa(ans)를 입력한다.

Page 9: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• solve 함수는 고차 다항식은 물론 많은 다른 형태의 방정식들을 풀 수 있다.

방정식 의 근을 구하여 보자.

>> f = 'log10(x)-log10(x-3) = 1';

>> r = solve(f);

>> r(1)

ans =

10/3

또한 하나 이상의 변수를 포함하는 방정식들도 풀 수 있다. 변수들보다 식의 수가 적

다면 어느 변수에 대해서 풀 것인가를 (문자열로) 지정해야 한다.

solve('2*x - log(y) = 1', 'y')를 입력하면 을 y에 대하여 풀어서 x의 식으로 나타낸다.

>> solve('2*x - log(y) = 1', 'y')

ans =

exp(2*x-1)

Page 10: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 하나 이상의 방정식들을 지정할 수도 있다.

>> [x, y] = solve('x^2 - y = 2', 'y - 2*x = 5')

x =

1+2*2^(1/2)

1-2*2^(1/2)

y =

7+4*2^(1/2)

7-4*2^(1/2)

Page 11: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 위의 방정식 시스템은 두 개의 해를 갖는다. x와 y의 첫 번째 해는 x(1)과 y(1)을 입력

하여 얻을 수 있다.

>> x(1)

ans =

1+2*2^(1/2)

>> y(1)

ans =

7+4*2^(1/2)

Page 12: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 방정식 를 풀어보자.

>> r = solve('y=3^2*x', 'y=5^x+1')

r =

x: [2x1 sym]

y: [2x1 sym]

>> r.x(1)

ans =

1/9*exp(-lambertw(-1/9*log(5)*5^(1/9))+1/9*log(5))+1/9

>> r.x(2)

ans =

1/9*exp(-lambertw(-1,-1/9*log(5)*5^(1/9))+1/9*log(5))+1/9

Page 13: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 방정식을 하나의 변수로 할당한 다음 이 변수를 이용하여 solve를 호출할 수 있다.

>> w = 'x^2 + 8*x - 10 = 0';

>> solve(w)

ans =

-4+26^(1/2)

-4-26^(1/2)

Page 14: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 5개의 근을 갖는 방정식

을 풀어보기로 하자.

>> f = 'x^5-6*x^4+4*x^3-7*x^2+x-3';

>> r = solve(f); >> a = double(r(1)) a = 5.5015 >> b = double(r(2)) b = 0.4272 + 0.9228i >> c = double(r(3)) c = -0.1779 + 0.7041i >> d = double(r(4)) d = -0.1779 - 0.7041i >> e = double(r(5)) e = 0.4272 - 0.9228i

Page 15: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 다수의 방정식들로 구성되는 방정식 시스템들도 쉽게 풀 수 있다.

방정식 시스템의 해를 구하여 보기로 한다.

Page 16: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

>> f1 = 'x_1 +2*x_2 +4*x_3 -3*x_4 = 5';

>> f2 = '-2*x_1 +3*x_2 -x_3 -6*x_4 = 2';

>> f3 = 'x_1 +5*x_2 -3*x_3 +2*x_4 = 4';

>> f4 = 'x_1 -3*x_2 -5*x_3 = 1';

>> r = solve(f1,f2,f3,f4); >> a = r.x_1 a = 720/337 >> b = r.x_2 b = 397/674 >> c = r.x_3 c = -85/674 >> d = r.x_4 d = -246/337

Page 17: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 기호식을 이용한 풀이

• solve에 대한 입력은 기호식이 될 수 있지만 이 경우 방정식의 우변을 0으로 만들어

주어야 한다. 실제로

을 풀기 위한 코드는 다음과 같다.

>> syms x >> solve(x^2 - 3*x + 7) ans = 3/2+1/2*i*19^(1/2) 3/2-1/2*i*19^(1/2)

Page 18: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 기호식을 이용하여 2차 방정식

을 풀어보자.

• 먼저 방정식의 계수 a, b, c와 변수 x를 기호변수로 선언하고 solve를 호출한다.

>> syms a b c x

>> y = solve(a*x^2+b*x+c) y = 1/2/a*(-b+(b^2-4*a*c)^(1/2)) 1/2/a*(-b-(b^2-4*a*c)^(1/2))

Page 19: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• MATLAB은 두 개의 해를 저장하는 2 x 1 기호객체 y를 생성한다. 동일한 방정식을 다

음과 같이 a에 대해서 풀 수 있다.

>> syms a b c x

>> solve(a*x^2+b*x+c, a)

ans =

-(b*x+c)/x^2

Page 20: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 기호식을 이용한 방정식 풀이의 다른 보기를 들어 보기로 한다. x와 y의 두 함수 f와

g를 각각 다음과 같다.

다음 그림은 수준곡선 및 의 그래프를 보인 것이다. 수준

곡선 가 수준곡선 와 교차하는 점 A, B, C, D에서 4개의 해

가 존재함을 알 수 있다.

• 및 의 0 수준곡선

Page 21: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• x와 y의 기호함수 f와 g를 정의한 다음 두 인수를 갖는 solve 명령어를 적용한다.

>> syms x y >> f = y - 4*x^2 + 3; >> g = 0.25*x^2 + y^2 - 1; >> [a b] = solve(f,g); >> [a b] ans = [ -1/16*(190+14*17^(1/2))^(1/2), -1/32+7/32*17^(1/2)] [ 1/16*(190+14*17^(1/2))^(1/2), -1/32+7/32*17^(1/2)] [ -1/16*(190-14*17^(1/2))^(1/2), -1/32-7/32*17^(1/2)] [ 1/16*(190-14*17^(1/2))^(1/2), -1/32-7/32*17^(1/2)] >> double([a b]) ans = -0.9837 0.8707 0.9837 0.8707 -0.7188 -0.9332 0.7188 -0.9332

Page 22: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• fzero 함수

• MATLAB의 수치근 탐색기 fzero는 Newton 방법만큼 아주 빠르지는 않지만 매우 신

뢰할 수 있는 방법들의 조합으로 구성된다. fzero는 f의 부호가 변하는 f(x)=0의 근을

구하는 데에만 사용할 수 있다. (즉 함수 fzero는 단일변수 함수에만 작용한다). fzero

는 다음과 같은 두 가지 방법으로 사용할 수 있다.

원하는 근에 매우 가깝다고 생각되는 하나의 시작값 를 이용한다. 원하는 근이 함수

의 특이점에 매우 가까이 위치한다면 수렴에 이르지 못할 수도 있다 . 호출은

fzero(f,x0)와 같이 한다.

f의 부호가 변하는 곳을 대괄호로 묶는다.

Page 23: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• fzero는 을 만족하는 추정이 이루어질 때까지 반복계산을 계

속하는데 이 값은 기본적인 오차 허용한계이다.

fzero 함수를 이용하여 의 근을 구하여 보자. (x의 범위는

[1, 3]으로 한다.)

>> f = inline('sin(x) - 0.5*x'); >> root = fzero(f,[1 3]) root = 1.89549426703398

Page 24: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• fzero의 가장 간단한 호출방식은 x = fzero(f, x0)로서 스칼라인 x0 근처에서 f의 근을

찾는다. f는 위에서와 같이 inline 함수로 정의되는 것 외에 다음의 두 가지 방법들 가

운데 어느 한 가지 방법으로 전달될 수 있다(예: 인 경우).

익명함수에의 핸들: fzero(@(x)cos(x)-x, x0)

함수 M-파일에의 핸들: fzero(@myf, x0)

• myf는 다음과 같이 함수 M-파일로 정의된다.

function f = myf(x) f = cos(x)-x;

Page 25: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• fzero와 익명함수를 이용하여 의 근을 구하려면 다음을 수행한다.

>> [x,fval] = fzero(@(x) x-tan(x), 1)

x =

1.5708

fval =

1.2093e+015

Page 26: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• fzero를 이용하는 다른 보기로서

을 고려하여 보자.

• f는 다음과 같은 함수 M-파일 f.m으로 정의한다.

% f.m : f(x,y)-1의 정의

function z = f(y,x) z = sin(x) + y.*exp(x.*y) - 1;

• x의 변화에 따른 근 y는 다음의 스크립트 M-파일 fxyzero.m에 의하여 계산된다. % fxyzero.m : 2변수 방정식의 풀이 % y를 수치적으로 추정할 x 값들을 선택 x = -0.2:0.01:1; % y 값들을 위한 저장공간을 부여 y = zeros(size(x)); % 추측값을 이용하여 첫 번째 y값을 계산 x1 = -0.2; y(1) = fzero(@(y) f(y,x1), 1.8); % 나머지 y 값들의 계산을 위한 loop for n = 2:121 y(n) = fzero(@(y) f(y,x(n)), y(n-1)); end plot(x,y)

• -1=0의 수준곡선

Page 27: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• fzero에서 수렴한계와 출력의 제시는 세 번째 인수인 options 구조체로 제어할 수 있는데

이는 optimset를 사용하여 정의할 수 있다. options 구조체의 필드들 가운데에서 다음과

같은 4개 필드가 사용된다.

Display: 결과제시 수준을 지정하는데 off 값을 가지면 결과가 제시되지 않으며 iter일

때에는 각 반복단계에서의 출력값, final일 때에는 마지막 출력값 만이 제시되고,

notify일 때에는 반복과정이 수렴하지 못했을 때에만 출력이 제시된다.

TolX: 수렴한계이다.

FunValCheck: 함수값이 복소수인지 NaN인지의 여부를 조사할 것인지를 결정한다.

OutputFcn: 각 반복단계에서 호출되는 사용자 정의 함수를 지정한다.

Page 28: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 다음은 사용 예이다.

fzero(fun, x0, optimset('Display','iter'))

fzero(fun, x0, optimset('TolX',1e-4))

• 기본적인 사용은 다음과 같다:

optimset('Display','notify','TolX',eps,‘FunValCheck','off','OutputFcn',[])

optimset에 전달되는 필드 이름들은 임의의 대문자 및 소문자들의 조합이 될 수 있

으며 필드를 구별하여 주기에 충분한 글자들의 이름이면 된다.

Page 29: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

다항식 근의 계산

• p의 근들은 z = roots(p)로부터 얻어진다. 물론 p가 실수계수의 다항식이라 할지라도

근 들의 일부는 복소수가 될 수 있다. 함수 poly는 반대의 계산을 수행하는데 주어진

근들로부터 다항식을 구성한다. 따라서 만일 z가 n-벡터이면 p=poly(z)로부터 다음과

같은 다항식의 계수를 얻는다.

위에서는 언제나 로 정규화된다. 함수 poly는 또한 행렬 인수의 처리도 가능하다. 즉

정방행렬 A에 대하여 p = poly(A)는 행렬 A의 특성 다항식 det(xI-A)의 계수들을 반

환한다.

Page 30: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 함수 polyder은 다항식의 미분의 계수들을 계산하지만 다항식 자체를 계산하지는 않

는다. 예로서 2차 함수 을 고려하여 보자. 먼저 근을 구하여 본

다.

>> format short g, p = [1 -1 -1]; z = roots(p)

z = 1.618 -0.61803

• 다음 코드는 위의 값들이 반올림 오차 범위에서 근들임을 입증하고 있다:

>> polyval(p,z)

ans = 2.2204e-016 -1.1102e-016

Page 31: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 방정식

의 근은 다음으로부터 얻는다.

>> p = [1 -6 4 -7 1 -3]; >> roots(p) ans = 5.5015 0.4272 + 0.9228i 0.4272 - 0.9228i -0.1779 + 0.7041i -0.1779 - 0.7041i

Page 32: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

2차원 Newton 방법

• 2차원에서의 Newton 방법은 1차원에서와 동일한 방식으로 유도된다. 1차원에서는

점 으로 시작하여 접선 을 이용하여 함수 f를

근사한다. 다음에 식 의 근 를 해에 대한 보다 나은 근사로 취한다.

식 . 은 다음과 같이 쓸 수 있다.

대개 이 식을 으로 나누어 1차원 Newton 방법을 얻는다.

Page 33: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 이제 한 쌍의 식 및 에서 유사한 선형 근사를 수행하여 근들을 구할

수 있다. 이제 F(x,y)가 한 쌍의 함수 f, g를 나타낸다고 하면

나아가 을 다음과 같은 편미분의 2 x 2 행렬이라고 하자. J는 점 에서 F의 Jacobian 행렬이라고 불린다.

Page 34: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• J의 첫 번째 행은 기울기 벡터 이며 두 번째 행은 이다.

와 를 열벡터로 쓰면 다음과 같이 나타낼 수 있다.

이 시스템의 해는 이다. 따라서 2차원에서 Newton 방법에 대한 반복

법은

이 된다. 계산에 있어서는 이를 다음과 같이 구분한다.

방정식들의 선형 시스템 을 푼다. s는 Newton 스텝이라고 불린다.

다음 반복항 를 계산한다.

Page 35: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 2차원 Newton 방법의 보기로서 및 을

고려하여 보자. 위 함수들에 대한 Jacobian 행렬은

과 같다. 다음은 이 함수들에 대하여 Newton 방법을 수행하는 M-파일들이다. 먼저

f(x,y), g(x,y) 및 J(x,y)들에 대한 함수 M-파일들을 작성한다.

% f.m : f(x,y)의 정의

function z = f(y,x) z = y - sin(x); % g.m : g(x,y)의 정의 function z = g(y,x) z = y - x.^2 + 1;

Page 36: 제 6 장. 방정식의 풀이 - contents.kocw.netcontents.kocw.net/KOCW/document/2013/hanyang/ParkSangung/07.pdf · • 기호식을 이용한 방정식 풀이의 다른 보기를

• 함수 m-파일 jacob.m은 2 x 2 행렬을 출력으로 반환한다.

% jacob.m : Jacobian J의 정의 function z = jacob(y,x) z = [-cos(x) 1; -2*x 1]; • 2차원 Newton 방법은 다음의 스크립트 M-파일 newton2.m에 의하여 수행된다 % newton2.m : 2차원 Newton 방법 p = input('시작값 p1 = [x1; y1]을 입력: '); N = input('최대 반복계산 횟수: '); x = p(1); y = p(2); disp(' iterate x y f(x,y) g(x,y)') [1, x, y, f(x,y), g(x,y)] for n = 2:N s = -jacob(x,y)\[f(x,y); g(x,y)]; p = p + s; x = p(1); y = p(2); [n, x, y, f(x,y), g(x,y) ] end