삼차방정식 계산기

ax³ + bx² + cx + d = 0 풀기
다음

삼차방정식은 일반형 ax³ + bx² + cx + d = 0을 가지며, 복소수 범위에서 항상 세 개의 근을 갖습니다. 네 개의 계수를 입력하면 계산기가 카르다노 공식을 사용하여 근을 반환합니다. 판별식이 양수가 아니면 세 개의 실근, 판별식이 양수이면 하나의 실근과 한 쌍의 켤레복소근, 판별식이 0이면 이중근 구조가 나타납니다.

계산기가 근을 찾는 방법

  1. 1

    계수 입력

    네 개의 수: a, b, c, d. 최고차항 계수 a는 0이 아니어야 합니다. 그렇지 않으면 방정식은 삼차가 아니라 이차가 됩니다.

  2. 2

    간약삼차식

    계산기는 이차항을 없애기 위해 방정식을 -b/(3a)만큼 이동시켜 `t³ + pt + q = 0` 형태를 만듭니다.

  3. 3

    판별식 확인

    Δ = (q/2)² + (p/3)³가 경로를 결정합니다. Δ > 0이면 실근 하나, Δ = 0이면 이중근, Δ < 0이면 삼각함수를 이용해 세 개의 실근을 얻습니다.

  4. 4

    되돌려 이동

    t-공간에서 찾은 각 근은 x를 복원하기 위해 -b/(3a)만큼 이동됩니다. 계산기는 해당하는 경우 이 값들을 내림차순으로 반환합니다.

판별식의 경우와 그 의미

카르다노 방법은 판별식 Δ = (q/2)² + (p/3)³의 부호에 따라 세 갈래 중 하나를 따라 진행합니다. 삼차 곡선 그래프의 기하학적 구조가 이를 정확히 반영합니다.

경우별 표

판별식 그래프 형태
Δ > 0 실근 1개, 켤레복소근 2개 x축과 한 번 만남
Δ = 0 실근 3개, 최소 두 개는 서로 같음 이중근에서 x축에 접함
Δ < 0 서로 다른 실근 3개 x축과 세 번 만남

풀이 예시

x³ − 6x² + 11x − 6 = 0 (계수: 1, −6, 11, −6)의 경우:

  • −b/(3a) = 2만큼 이동하여 간약형을 얻습니다: p = −1, q = 0.
  • Δ = (q/2)² + (p/3)³ = 0 + (−1/3)³ = −1/27 < 0 이므로 세 실근(삼각함수) 경로를 택합니다.
  • 삼각함수 공식으로 서로 다른 세 실근 x = 1, 2, 3을 얻습니다.

수치적 고려 사항

  • 부동소수점 오차는 세 근이 서로 가까이 있을 때(거의 삼중근일 때) 끼어듭니다. 표시된 근은 정확한 값과 마지막 몇 자리 소수점에서 차이가 날 수 있습니다.
  • 매우 작은 a는 b/(3a)를 크게 만들어 연산을 지배하고 정밀도를 떨어뜨립니다. |a|가 약 1e-12 미만이면 이차방정식으로 푸는 것이 좋습니다.
  • 정수 계수는 가장 깔끔한 출력을 줍니다: 유리근은 부동소수점 반올림 범위 내에서 정확한 값으로 나타납니다.

관련 방정식

  • 이차방정식: ax² + bx + c = 0. 이차방정식 계산기를 사용하세요, 닫힌 형식이며 더 간단합니다.
  • 사차방정식: ax⁴ + bx³ + cx² + dx + e = 0. 페라리 방법은 분해 삼차식으로 환원되며, 여기서는 다루지 않습니다.
  • 간약삼차식: b = 0으로 설정하면 이동 과정을 건너뛰고 x³ + px + q = 0을 직접 입력할 수 있습니다.

자주 묻는 질문

방정식이 더 이상 삼차가 아닙니다. 이 경우 계산기는 진행을 거부하므로, bx² + cx + d = 0에 대해서는 이차방정식 계산기로 전환하세요.

이 경우 계산기는 하나의 실근만 반환합니다. 나머지 두 근은 카르다노 공식이 닫힌 형식으로 제공하는 켤레복소근 쌍이며, 기호적 답이 필요하면 -x1/2 ± (√3/2) × i × 절댓값으로 계산할 수 있습니다.

카르다노 방법의 수치 구현은 부동소수점 반올림 때문에 약 1e-15 수준의 잔차를 낼 수 있습니다. 1e-10 미만의 값은 실수로 간주하세요. 이 계산기는 Δ < 0 갈래에서 그러한 잔차를 이미 걸러냅니다.

네 개의 계수는 근 계산을 위해서만 서버로 전송되며 저장되지 않습니다. 단계별 보기를 사용하면 계수가 페이지 링크에도 포함됩니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다