• SEARCH

    통합검색
세모계
    • Dark Mode
    • GNB Always Open
    • GNB Height Maximize
    • Color
    • Brightness
    • SINCE 2015.01.19.
    • 세모계 세모계
    •   SEARCH
    • 세상의 모든 계산기
      • 자유(질문) 게시판
      • 계산기 뉴스/정보
      • 수학, 과학, 공학 이야기
      • 세모계 : 공지 게시판
        • 구글 맞춤검색
    • TI
    • CASIO
    • HP
    • SHARP
    • 일반(쌀집) 계산기
    • 기타계산기
    • by OrangeDay
  • 세상의 모든 계산기 계산기 뉴스/정보
    • 세상의 모든 계산기 계산기 뉴스/정보 ()
    • [공학용 계산기] 공학용 계산기의 꽃? solve (솔브) 기능 이해하기 (Newton-Raphson 법, 뉴튼법)

    • Profile
      • 세상의모든계산기
      • 2026.04.15 - 09:01 2015.12.11 - 10:29 21232 13

    1. 공학용 계산기의 꽃? solve 기능이란?

    solve 기능은 "방정식을 (손으로) 한 문자로 정리해서 풀지 않고, 식을 있는 그대로 (계산기에) 입력해서 해를 찾을 수 있는 기능"입니다. 

    방정식을 통채로 집어넣으면 해가 튀어 나온다니... 아름답지 않습니까?
    공학용 계산기의 꽃으로 불러도 손색이 없습니다. 

    (개인적으로) Solve 기능이 없는 공학용 계산기를 공학용이 아닌 공학향(香) 계산기로 부르는 것도 바로 그 때문입니다. \

    향기만 날 뿐 진짜가 아니므로 맛이 없습니다. (바나나향 우유는 맛있습니다만... )

     

    2. 해(Solution)를 찾는 알고리즘

    NewtonIteration_Ani.gif

     

    대부분의 공학용 계산기에서 Solve 기능으로 채택하는 알고리즘이 바로 Newton-Raphson Method (줄여서 뉴튼법이라고도 부름)입니다. 

     

    위 스샷을 통해 뉴튼법으로 해를 찾는 과정을 확인할 수 있습니다. (사진 출처 : 위키)

    보시다시피 x1 → y1 → x2 → y2 → x3 .... 찾는 과정이 반복됩니다.

    그러다가 y값(or 좌변-우변 값)이 0에 매~~~~~~우 가까워진 경우,

    image.png

    답(그 때의 x값)을 내놓는 것입니다. 

    그래서 초기값(시작점) x1이 필요하고, 중요합니다.

     

    이차방정식의 경우(해가 2개 존재한다고 가정) 접선의 기울기가 0인 꼭지점을 기준으로 시작점이 왼쪽에 있으면 왼쪽의 해만 찾아지고, 오른쪽에 있으면 오른쪽의 해만 찾아집니다.

    그래서 기울기가 0인 x 값을 알면 편하겠지만, 실제로는 그렇지 않은 경우가 많기 때문에 (2차 방정식 한정) 아~~주 큰 값이나 아~~주 작은 값을 넣어버려도 됩니다. 

     

    시작점이 해에 가까울수록 반복 횟수가 줄어들긴 하지만, 고생하는건 계산기니까... 괜찮습니다. 

    해를 찾을 수 있는 수치해석방법은 이분법, 가위치법 등 다양하지만, 그 중에서 뉴튼법이 가장 대표적으로 쓰이는 이유는 해를 찾는 속도가 빠르고 해의 구간을 알지 못해도 해를 찾을 수 있는(=개방법) 편리함이 있기 때문입니다.

     

    3. 답이 구해지지 않을 때
    (feat. 계산기를 거드는 방법 = 원하는 답을 구하는 방법)

    그런데 뉴튼법이 만능인 것은 아닙니다. 아래처럼 특정한 경우에는 메롱메롱해지면서 답을 구하지 못하기도 합니다.

    • 방정식을 그렸을 때, 그래프가 매끄럽지 못하고 날카로운 경우
    • 그래프가 이리저리 들쑥날쑥한 경우
    • 초월함수 : 거의 수직/수평의 기울기를 가지는 경우
    • 주기함수 : 삼각함수 등

    해가 여러개인 함수인 때에는 답을 구하더라도, 이걸 찾았다가 저걸 찾았다가 왔다갔다 하기도 하구요.

    따라서 solve 기능이 이상하다 싶으면 계산기를 조금 거들어줘야 합니다. 계산기를 거드는 방법은 크게 세가지인데, 그리 어렵지 않습니다. 

    1. 초기값(=추정값)을 잘! 입력.
      이 때 초기값은 원하는 결과에 가까울수록 원하는 결과값을 구하는데 유리합니다.

       
    2. 해를 찾을 범위(lower bound, upper bound)를 지정. (CAS 급 계산기 한정)
      범위를 지정할 수 있다면! 해보시는게 좋습니다만, 지정할 수 없는 계산기에서는 패스!

       
    3. 방정식을 변형. (=최적화 내지는 간소화)
      식을 한쪽으로 몬다거나... 
      공식 등을 이용해서 식을 짧게 줄인다거나...
      식 일부로만 해를 구해본다거나...
      미지수의 스케일을 바꾼다거나...

    그러면 아주 요상한 경우가 아닌 이상 원하는 구간에서 원하는 해를 찾을 수 있답니다. 


    만약 그래도 해결이 안된다면... 그래프를 그려보는 것이 가장 좋은 방법인 것 같습니다. (인터넷 찬스=울프람 알파, 상급 계산기 등을 이용해야 할겁니다.) 그래프 기능이 불가능하다면 부족하나마 TABLE 기능이라도 사용해보시는 방법도 있습니다. (댓글 예시 참고)

     

    4. 계산기별 Solve 기능 설명글 링크

    ★ TI

    • [TI-nspire] 
      16_right.png http://www.allcalc.org/3448 (solve), 
      http://www.allcalc.org/9250 (nsolve)

    ★ CASIO 

    • [fx-570 ES] 16_right.png http://www.allcalc.org/5263
    • [fx-5800P] 16_right.png http://www.allcalc.org/8474
    • [fx-9860G] 16_right.png http://www.allcalc.org/6005
    Attached file
    NewtonIteration_Ani.gif 48.9KB 63image.png 489.4KB 63solve_example.tns 6.7KB 57
    이 게시물을..
    N
    0
    0
    • 세상의모든계산기 25
      세상의모든계산기

      계산기는 거들 뿐
      혹은
      계산기를 거들 뿐

    세상의모든계산기 님의 최근 글

    ban 설정 강화 5440 1 2026 05.09 정적분 구간에 미지수가 있고, solve 를 사용할 수 없을 때 그 값을 확인하려면? 1546 4 2026 04.10 높아질수록 좁아지는 시야에 대하여 - written by ChatGPT 8030 2026 02.12 내가 올해 몇살이더라? (내 나이 계산기) 6913 2026 02.11 AGI 자기 거버넌스 구조와 인간-AGI 관계 모델 (written by GEMINI & GPT) 8204 1 2026 01.30

    세상의모든계산기 님의 최근 댓글

    - claude AI는 l-c*r^2 을 1-c*r^2 으로 잘못 읽고 표시하고 있습니다. - TI-nspire CAS 계산기에 l-c*r^2 ≥0 을 조건에 추가해 계산해 보아도 결과는 바뀌지 않습니다. 2026 07.20 ⚠️ 경고가 바로 두 번째 방법이 "성공"한 이유와 정확히 연결되어 있습니다.   경고의 의미 "Domain of the result might be larger than the domain of the input"는 CAS가 절댓값(모듈러스)을 계산하는 과정에서 원래 식보다 정의역이 더 넓은 형태로 단순화했다는 뜻입니다. 구체적으로 이 계산은 내부적으로 대략 이런 과정을 거칩니다. $$\left|\frac{er}{e\cdot r}\right| = \sqrt{\left(\frac{er}{e\cdot r}\right)\cdot\overline{\left(\frac{er}{e\cdot r}\right)}}$$ 즉 원래 식(복소수)과 그 켤레복소수를 곱해서 실수부·허수부 제곱합을 만들고, 거기에 다시 제곱근을 씌우는 과정입니다. 이 과정에서 √(x²) → x 또는 √a·√b → √(ab) 같은 규칙들이 쓰이는데, 이런 규칙들은 x가 실수이고 0 이상일 때만 엄밀하게 성립합니다. CAS는 이 조건들을 일일이 다 추적하지 않고 넘어가면서, 원래는 (e≠0, r+l·ω·i ≠ 0 등) 복소수 특유의 좁은 정의역을 가진 식을, r, l, ω가 어떤 실수여도(부호 무관하게) 정의되는 1/√(r²+l²·ω²)라는 더 넓은 정의역의 식으로 바꿔버린 것입니다. CAS는 이 손실을 감지하고 경고를 띄운 것입니다. 이게 왜 조건 대입 성공과 연결되는가 정리하면, 이 경고는 사실상 이런 뜻입니다. "나는 이 결과를 만들면서 원래 식이 가지고 있던 정의역 제약 정보(부호 조건, i 관련 조건 등)를 이미 버렸다." 바로 이 "정의역 정보를 버린" 상태가 이후 con_1 대입을 매끄럽게 만드는 원인입니다. 첫 번째 시도에서는 i가 살아있는 원래 식에 조건을 대입했기 때문에, CAS가 √(1-c·r²)이 실수인지(정의역 조건: 1-c·r² ≥ 0) 계속 추적하려고 했고, 그 정보가 con에 없어서 더 이상 정리를 못 하고 멈췄습니다. 두 번째 시도에서는 절댓값 계산 단계에서 이미 그런 세밀한 정의역 추적을 CAS 스스로 포기(단순화)했기 때문에, 이후 ω에 무리식을 대입해도 "이게 실수가 맞나?" 하는 검증 절차 없이 그냥 대수적으로 치환·정리해 버립니다. 그래서 깔끔하게 √c/√l이 나온 겁니다. 한 줄 요약 절댓값 계산 시 뜬 "정의역이 넓어졌을 수 있다"는 경고는, CAS가 그 순간에 원래 식의 엄밀한 조건(정의역)을 놓쳤다는 신호이고, 바로 그 "조건을 놓친 상태"이기 때문에 뒤에 이어지는 조건식 대입이 막힘없이 진행된 것입니다. 다만 그 대가로, 결과인 1/√(r²+l²·ω²)이나 최종 √c/√l이 원래 회로 조건(i≠0이 되는 경계, 분모가 0이 되는 경우 등)에서는 엄밀히 성립하지 않을 수 있다는 점은 감안하셔야 합니다. 실제 물리적으로는 r, l, c > 0이고 결과도 물리적으로 타당한 형태라 문제없어 보이지만, 수학적 엄밀성 측면에서는 "정의역이 넓어진 근사적 결과"라는 꼬리표가 붙어있는 셈입니다. 2026 07.20 Claude AI 답변 TI-Nspire CAS의 | (such that / 조건대입) 연산자는 대입 시점의 수식 형태를 그대로 두고 기호만 치환하는 연산입니다. 대입 후에 처음부터 다시 "실수부/허수부 분리, 유리화" 같은 재간소화를 자동으로 수행하지 않습니다. 이 차이가 지금 보신 결과 차이의 핵심입니다. 첫 번째 경우 (|er/(e·r)| | con_1 and con → 실패) 이 시점의 식은 아직 r + l·ω·i 형태의 복소수 그대로입니다 (i가 살아있음). 여기에 con_1: ω = √(1-c·r²)/(√c·l)을 대입하면, 분모 안에 i · √(1-c·r²) 라는 항이 새로 생깁니다. 문제는 CAS가 √(1-c·r²)이 실수인지(즉 1-c·r² ≥ 0인지) 판단할 근거가 없다는 겁니다. 저장해 두신 con 조건은 c>0, l>0, r>0뿐이고, 1-c·r²≥0이라는 조건은 포함되어 있지 않습니다. 그래서 CAS는 i와 이 무리식을 더 정리(유리화, 실수부·허수부 재결합)하지 못하고 있는 그대로 남겨둡니다. 결과에 여전히 i가 보이는 이유입니다. 두 번째 경우 (결과값 1/√(r²+l²·ω²)에 대입 → 성공) |er/(e·r)| (절댓값/모듈러스) 연산은 그 자체로 이미 "복소수 → 실수" 변환을 완료한 결과입니다. 즉 1/√(r²+l²·ω²)에는 더 이상 i가 없고, 순수하게 r, l, ω로만 이루어진 실수식입니다. 이 식에 ω = con_1을 대입하는 것은 그냥 실수 대수식에 실수 대입하는 것이므로, i와 무리식이 뒤엉키는 문제 자체가 발생하지 않습니다. 그래서 바로 깔끔하게 √c/√l로 정리됩니다. 정리하면 절댓값(모듈러스) 계산은 "이 값들이 실수다"라는 가정을 이미 내부적으로 써서 i를 제거하는 연산입니다. 그 연산을 조건 대입 이전에 해두면, 이후 대입은 단순 실수 대입이라 문제없이 정리됩니다. 반대로 i가 남아있는 식에 무리식을 포함한 조건을 먼저 대입하면, 그 무리식의 실수성/부호에 대한 가정이 없어서 CAS가 i를 소거하는 재간소화를 못 하고 멈춰버립니다. 실용적 팁: 복소식에 조건을 대입해야 할 때는 가능하면 절댓값·실수화(유리화) 등을 먼저 끝내서 i를 없앤 뒤 조건을 대입하거나, 대입 후 결과에 다시 simplify/expand/combine 같은 명령을 한 번 더 걸어주면 (필요한 도메인 조건과 함께) 정리가 되는 경우가 많습니다. 2026 07.19 저도 어림잡아 추측할 뿐이지 정확한 이유를 알지는 못합니다.    질문하신 사진을 그대로 (Gemini 3.5 Flash / ChatGPT / Claude Sonnet 5) AI에 넣어 보니  claude AI 가 제일 합리적인 답변을 주어서 이를 붙여 넣습니다.  2026 07.19 아 그렇네요. 감사합니다. ^^ 2026 04.28
    글쓴이의 서명작성글 감추기 

    댓글13

    • Profile 0
      세상의모든계산기
      2024.10.28 - 10:59 2016.04.04 - 08:39 #17071

      예시1) 에러 메시지 Can't Solve : [fx-570ES Plus]

      http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1114&docId=249429180&ref=me2lnk

      K-20160404-314084-32p.png K-20160404-313651-32p.png

      추정 원인 : 지수가 너무 큼 ⇒ 그래프가 너무 급격함(=기울기가 ∞에 가까움)

      04-04-2016 Image001-32p.png

      해결 방법 : 초기값 정밀하게 입력(0.005도 안되고 0.006정도 넣어야 하는데... 의미없음.), 구간입력(불가능), 식 변형(?)

      Attached file
      K-20160404-313651-32p.png 456Bytes 165 K-20160404-314084-32p.png 385Bytes 165 04-04-2016 Image001-32p.png 2.0KB 188
      댓글
    • Profile 0
      세상의모든계산기
      2016.04.04 - 10:09 2016.04.04 - 10:06 #17085

      [fx-570] 에서 solve 가 불가능할 때 TABLE을 이용한 노가다로 해를 구할 수도 있습니다.
      http://www.allcalc.org/17077

      말그대로 노가다입니다.

      댓글
    • Profile 0
      세상의모든계산기
      2024.10.28 - 10:51 2016.04.05 - 10:19 #17109

      예시2) 답이 잘 나왔다가 너무 큰 값 값이 나왔다가 왔다갔다 함. 주기함수 (삼각함수)


      문제 : 2cos(x)-cos(30˚)=0 을 만족하는 x를 찾기


      04-05-2016 Image002-32p.png

      그래프는 위와 같습니다.


      그런데 solve(Newton법) 기능을 어디에서 시작하느냐에 따라서 찾아지는 결과값이 달라집니다. 

      [fx-570ES Plus] 의 경우

      초기값 0일 때 ⇒ K-20160405-375018-32p.png

      초기값 1일 때 ⇒ K-20160405-375475-32p.png

      초기값 20~100 일 때 ⇒ K-20160405-375154-32p.png

      Attached file
      04-05-2016 Image002-32p.png 3.3KB 165 K-20160405-375475-32p.png 578Bytes 180 K-20160405-375018-32p.png 579Bytes 169 K-20160405-375154-32p.png 529Bytes 175
      댓글
    • Profile 0
      세상의모든계산기
      2024.10.28 - 11:26 2016.04.08 - 10:27 #17190

      TIP : 초기값의 결정


      초기값이 없어도 해가 나오면 좋고, 많은 경우에 해가 그냥 찾아지기도 합니다. 
      안될 때는 아주 큰 값으로 변경하거나 아주 작은 값으로 변경하거나 대충 바꿔서 답이 나오는 경우도 있구요. 


      하지만 가끔은 초기값을 정밀한 수준으로 지정하지 않으면 해를 못찾는 경우가 있습니다. Can't Solve Error 발생!
      이 때는 해에 가까운 값일수록 바람직하다고 볼 수 있습니다.
      그런데 해에 가까운 값을 넣으려고 보니... 해를 모르네요?

      "짱구"를 잘 굴려서 찍는 방법

      1. X가 각도일 때 : Degree=30, Radian=pi/6=0.5
      2. X가 이자율일 때 : 10%=0.1 
      3. 분수방정식 : 분수를 0으로 하는 값 근처

       

      그것마저 안통한다면 다시 계산기 도움을 받아야 합니다. 

      • 그래핑급 계산기 : 그래프를 그려보시면 됩니다. 가장 확실합니다. 그래핑 급 계산기라면 다시 solve로 돌아올 필요 없이 그래프에서 trace (추적) 기능을 이용해 해를 찾으시는게 좋습니다. 
      • 기초형 계산기 : 기초형 계산기에도 TABLE 기능이 있는 것이 보통입니다. 그래프는 아니지만, 일정한 x 간격으로 y 값을 찾아서 표를 만들어줍니다. 
        예) K-20160408-386745-32p.png 이런 경우에는 (연속이라는 가정하에) 3.1415(=π)와 4.7123(=(³/₂)π)) 사이에 해가 있음을 알 수가 있습니다. 
      Attached file
      K-20160408-386745-32p.png 539Bytes 191
      댓글
    • Profile 0
      세상의모든계산기
      2024.10.02 - 14:26 2017.11.08 - 22:49 #21977

      L-R= 의 의미


      "결과의 (좌측)-(우측)" 은 얻은 결과를 기저 변수에 대입했을 때의 결과를 나타내고 있습니다. 이 값이 0에 가까우면 가까울수록, 얻는 결과의 정밀도가 높아집니다.  - [fx-570 ES] 설명서 中

      • "원래의 입력 방정식"을 (좌변=우변) 형태에서 (좌변Left-우변Right) 형태로 변경한 다음에, solve 로 구해진 기저 변수 결과값을 (Left-Right) 식에 대입하여 얻은 값이 'L-R=' 입니다. 
      • "정답"이라면 당연히 0이 나와야 합니다. 하지만 공학용 계산기 solve 함수가 언제나 정답을 찾아주는 것이 아니라서, 계산기가 찾아준 결과가 얼마나 믿을만한지를 간접적으로 제시해주는 것이 L-R= 값입니다.
      • 0이 아니라면 정답이 아닐 가능성이 높습니다. solve 기능을 (현재 찾은값부터) 재개할 수 있다면 그렇게 해서 L-R 값이 0 으로 수렴하는지 확인해 보셔야합니다. 
      댓글
    • Profile 0
      세상의모든계산기
      2024.10.28 - 10:56 2019.11.09 - 02:14 #28252

      참고자료 : Newton’s Method with TI-Nspire™ CAS, Forest W. Arnold, October 2018


      ㄴ https://www.arnoldfw.com/pdf/newtons_method.pdf

      댓글
    • Profile 0
      세상의모든계산기
      2024.11.07 - 23:41 2021.05.20 - 09:35 #32934

      예시3) 에러 메시지 Can't Solve : [fx-570EX]


      https://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1131&docId=390112798

      solve_graph2.png

      1. 그래프 기울기가 0에 가까운 값을 유지하는 가까운 구간 있음. |x| < 10 또는 |x| > 큰 수
      ㄴ solve 반복 도중에 이 구간에 빠지면 답이 안나오게 됨.

       

      2. fx-570EX 의 경우 
      초기 추정값을 (±) 8 < x < 91 사이로 넣을 때에만 해가 찾아짐.

      wes_tex_01.gif

      wes_tex_02.gif
      wes_tex_03.gif

      Attached file
      solve_graph2.png 7.2KB 90 wes_tex_01.gif 751Bytes 90 wes_tex_02.gif 553Bytes 132 wes_tex_03.gif 286Bytes 134
      댓글
    • Profile 0
      세상의모든계산기
      2024.10.28 - 11:00 2024.07.12 - 16:56 #43999

      참고 링크 : Newton법 원리 이해 


      https://math.libretexts.org/Courses/Laney_College/Math_3A%3A_Calculus_1_(Fall_2022)/04%3A_Applications_of_Derivatives/4.10%3A_Newtons_Method

       

      image.png

       

       

      image.png

      Attached file
      image.png 61.1KB 94 image.png 34.1KB 38
      댓글
    • Profile 0
      세상의모든계산기
      2024.10.28 - 10:58 2024.07.12 - 19:19 #44008

      Newton법 원리 따라서 계산해 보기


      Ans 변수를 조합해서 뉴튼법에 의한 수치해석법을 따라가 볼 수 있습니다. 

       

      $ f'\left( x_{n-1}\right) =\dfrac{f\left( x_{n-1}\right) }{x_{n-1}-x_{n}} $

      $ x_{n}=x_{n-1}-\dfrac{f\left( x_{n-1}\right) }{f'\left( x_{n-1}\right) } $

       

      함수 기능을 사용할 수 있다면 아래처럼 진행하시면 되구요.

      image.png

      ㄴ 계산기에 미분기능(d/dx)이 없다면, 손으로 풀어서 입력해야 하겠죠?

      ans 변수가 제대로 들어간다면 = (enter) 를 누르는 것으로 다음 계산이 자동으로 반복됩니다.

       

      image.png

      Attached file
      image.png 25.4KB 34 image.png 34.8KB 38 image.png 107.9KB 39
      댓글
    • Profile 0
      세상의모든계산기
      2024.10.28 - 11:01 2024.07.12 - 19:43 #44014

      fx-570에서 따라하기


      함수 기능이 없다면 수식을 위에서 함수 f 부분을
      원래 수식으로 입력하시면 되겠습니다. (대신 미지수는 Ans 로 대체)

      스크린샷 2024-07-12 194141.png

      스크린샷 2024-07-12 194154.png

      스크린샷 2024-07-12 194158.png

      스크린샷 2024-07-12 194201.png

      스크린샷 2024-07-12 194205.png

      스크린샷 2024-07-12 194209.png

       

      Attached file
      스크린샷 2024-07-12 194141.png 2.4KB 43 스크린샷 2024-07-12 194154.png 2.4KB 36 스크린샷 2024-07-12 194158.png 2.3KB 41 스크린샷 2024-07-12 194201.png 2.3KB 39 스크린샷 2024-07-12 194205.png 2.3KB 85 스크린샷 2024-07-12 194209.png 2.4KB 43
      댓글
    • Profile 0
      세상의모든계산기
      2024.10.28 - 18:28 2024.10.28 - 11:02 #51586

      예시4) 에러 메시지 Can't Solve [fx-9860G]


      image.png image.png

       

      Q : 초기값이 0.17일 때 에러가 나는 이유?

      A : 꼭지점 오른쪽 → 의 해를 찾게 됨  

      image.png

       

      Q : 초기값을 꼭지점 오른쪽인 0.15~0.12까지 변경해도 Can't Solve 인 이유?

      A : 다음 구슬 위치가 음수임 ⇒ -∞ 까지 가도 답이 안나옴.

      image.png

       

      해결방법1) 초기값이 0.02 ~ 0.11 사이일 때 해가 찾아짐.

      image.png image.png

       

      현실적으로는 방정식만 보고 꼭지점의 x좌표가 0.149 일 것을 알 수는 없고, 

      나올지 안나올지 불분명한 상황에서 0.20, 0.19, 0.18, 0.17, 0.16 ... 다 해보고 있을 수는 없는 노릇

       

      대충 안나올 것 같다 싶으면 

      해결방법2) 처음부터 분수방정식을 변형해서 대입하는 것이 최선! (분모를 각각 양변에 곱해서 제거)

      image.png image.png

       

      image.png

      Attached file
      image.png 11.7KB 93 image.png 8.7KB 32 image.png 8.7KB 34 image.png 37.2KB 36 image.png 47.2KB 31 image.png 8.7KB 36 image.png 7.4KB 32 image.png 9.2KB 36 image.png 8.1KB 36 image.png 60.2KB 40
      댓글
    • Profile 0
      세상의모든계산기
      2025.10.17 - 13:19 2025.10.17 - 13:18 #55758

      Gemini-2.5-pro 답변


      ✦ 현대 컴퓨터 대수 시스템(CAS) 계산기에 탑재된 solve 기능의 일반적인 내부 동작 원리에 대해 설명해 드리겠습니다.

        현대 CAS의 solve 기능은 단순히 하나의 알고리즘으로 작동하는 것이 아니라, 마치 '순수 수학자'와 '문제 해결 공학자'가 협력하는 것처럼, 여러 단계에 걸친 정교한 '하이브리드(Hybrid)' 방식으로 동작합니다.

       

        solve 함수의 작동 과정

       

        1단계: 기호적 해법 (Symbolic Solver) - '순수 수학자'의 접근

        계산기는 가장 먼저 방정식을 대수적으로, 즉 정확한 수학적 해를 찾으려고 시도합니다. 이 단계는 마치 사람이
        공식을 이용해 문제를 푸는 과정과 같습니다.

         1. 방정식 분석: solve 명령을 받으면, 시스템은 먼저 입력된 방정식의 구조를 분석합니다. (예: 이것이 다항식인가?
            삼각방정식인가? 로그방정식인가?)

         2. 규칙 기반 풀이: 분석된 구조에 따라, 시스템은 내장된 방대한 수학 규칙 라이브러리를 적용합니다.
             * 선형/이차 방정식: ax+b=c 나 ax²+bx+c=0 같은 형태는 이항, 인수분해, 근의 공식 등을 이용해 즉시 풉니다.
             * 고차 다항식: 인수분해, 조립제법 등의 규칙을 적용하여 유리수 해를 찾습니다.
             * 삼각방정식: sin(x) = 0.5 와 같은 경우, x = nπ + (-1)ⁿ * (π/6) 와 같이 주기성을 고려한 일반해 공식을
               적용합니다.
             * 기타: 로그, 지수 법칙 등 해당 방정식에 맞는 대수적 풀이법을 총동원합니다.

         3. 결과: 이 단계에서 해를 찾으면, 1.414... 와 같은 근사값이 아닌 √2 나 π/3 와 같은 정확한 기호 형태의 해를
            반환합니다.

        > 강점: 수학적으로 완벽하고 정확한 해를 제공합니다.
        > 한계: 대수적인 풀이법이 알려져 있지 않은 방정식(예: cos(x) = x 또는 eˣ = x+2)은 풀 수 없습니다.

       

        ---

       

        2단계: 수치적 해법 (Numerical Solver) - '문제 해결 공학자'의 접근

        만약 1단계의 '순수 수학자'가 "이건 공식으로 풀 수 없어"라고 결론 내리면, solve 기능은 포기하지 않고 2단계인
        '문제 해결 공학자'에게 문제를 넘깁니다. 이 단계의 목표는 정확한 해는 아니더라도, 매우 정밀한 근사해를 찾는
        것입니다.

         1. 반복적 탐색: 수치적 해법은 방정식을 직접 푸는 것이 아니라, 해가 있을 만한 지점에서부터 시작하여 반복적인
            계산을 통해 해에 점점 더 가까워지는 방식을 사용합니다.
             * 적당한 값을 추측해서 대입해 봅니다.
             * 결과가 0보다 큰지 작은지에 따라, 다음 추측값을 어느 방향으로 수정할지 결정합니다.
             * 이 과정을 수없이 반복하여 오차가 거의 0에 가까워질 때까지 해를 좁혀나갑니다.

         2. 핵심 알고리즘: 이때 사용되는 대표적인 알고리즘은 다음과 같습니다.
             * 뉴턴-랩슨법 (Newton-Raphson Method): 미분(접선)을 이용하여 매우 빠른 속도로 해에 수렴하는 강력한
               방법입니다.
             * 이분법 (Bisection Method): 해가 존재하는 특정 구간을 계속 절반으로 나누어 범위를 좁혀나가는 방식으로,
               속도는 느리지만 안정적으로 해를 찾을 수 있습니다.

         3. 결과: 이 단계가 성공하면, 시스템은 0.739085133215 와 같이 소수점 아래 여러 자리까지 표현되는 매우 정밀한
            부동소수점 형태의 근사해를 반환합니다.

        > 강점: 대수적으로 풀 수 없는 복잡한 방정식의 해도 근사적으로 찾아낼 수 있습니다.
        > 한계: 근사해이며, 알고리즘의 특성상 특정 조건(예: 해가 중근을 갖는 경우)에서는 해를 찾지 못하고 실패할 수도
        있습니다.

       

        결론: 왜 하이브리드 방식인가?

       

        분석 → 기호적 풀이 시도 → (실패 또는 불가능 시) → 수치적 풀이로 전환

        이처럼 현대 CAS의 solve 기능은 정확성(기호적 해법)과 범용성(수치적 해법)이라는 두 마리 토끼를 모두 잡기 위해
        설계된 정교한 협력 시스템입니다. 먼저 가장 이상적인 '정확한 해'를 추구하되, 그것이 불가능할 경우 차선책으로
        '정밀한 근사해'라도 찾아내어 사용자에게 최대한의 결과를 제공하는 것입니다.

      댓글
    • Profile 0
      세상의모든계산기
      2026.04.15 - 09:02 2026.04.15 - 09:01 #57136

      정적분 구간에 미지수가 있고, solve 를 사용할 수 없을 때 그 값을 확인하려면?


      https://allcalc.org/57087

      `SOLVE` 기능 내에 `∫(적분)` 기호를 사용할 수 없을 때 뉴튼-랩슨법을 직접 사용하는 방법

      댓글
    • 댓글 입력
    • 에디터 전환
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • 목록
      view_headline
    13
    × CLOSE
    기본 (0) 제목 날짜 수정 조회 댓글 추천 비추
    분류 정렬 검색
    등록된 글이 없습니다.
    • 세상의 모든 계산기 계산기 뉴스/정보
    • 세상의모든계산기
    • 사업자등록번호 703-91-02181
    • 세모계 all rights reserved.