5. 방정식의 해 구하기

가. fzero – 1변수 방정식
    1. 함수: fzero(‘함수’,x0) 또는 fzero(‘함수’,x0,오차). 방정식을 m-file로 작성 후 명령 실행
    2. 예제
       <m-file 내용>
         function f=fun(x)
           f=(sin(x)^2+cos(x)-1)/(12+2*sin(x))^4;

       >> fzero(‘fun’,2) %초기값 2부터 시작하여 f가 0이 되는 해를 구함
       ans = 1.5708       % 결과값: x = 1.5708
       >> fzero(‘fun’,4) %초기값 4부터 시작하여 f가 0이 되는 해를 구함
       ans = 4.7124       % 결과값: x= 4.7124
사용자 삽입 이미지나. fsolve – 비선형 연립방정식
    1. 함수: fsolve(‘함수’,x0) 또는 fsolve(‘함수’,x0,options). 방정식을 m-file로 작성 후 명령 실행
    2. 예제
       <m-file 내용>
         function f=funs(x)
           f=[2*x(1)-x(2)-exp(-x(1));-x(1)+2*x(2)-exp(-x(2))];

       >> x=fsolve(‘funs’,[-5;-5]) %초기값 x(1) -5, x(2) -5부터 처음 0이 되는 점의 값을 구함
       ans = 0.5671; 0.5671          %결과값: x = [0.5671; 0.5671]
사용자 삽입 이미지


다. solve – 비선형 방정식
    1. 변수 비선형 방정식 – x=solve(s)
       예) >> syms x a b c
             >> f=a*x^2+b*x+c;
             >> x=solve(f)
             x = -1/2*(b-(b^2-4*a*c)^(1/2))/a
                  -1/2*(b+(b^2-4*a*c)^(1/2))/a
             >> pretty(x)


    2. 비선형 연립 방정식 – [x1,x2,…,xn]=fsolve(f1,f2,…fn)
사용자 삽입 이미지       예) >> syms x y
            >> f1 = x^2+y^2-4;
            >> f2 = exp(x)+y-1;
            >> [x,y]=solve(‘f1′,’f2’);
            >> double(x);
            ans = -1.8163
            >> double(y);
            ans = 0.8374
       그래프 그리기)
       >> ezplot(f1,[-3,3])
       >> hold on
       >> ezplot(f2,[-3,3])
       >> axis equal
       >> axis([-2,5 2.5 -2,5 2.5])
       >> grid on

You may also like...

댓글 남기기