- TI nspire
[TI-nspire] Iteration, Gauss-Seidel 가우스-자이델 반복법으로 연립방정식 풀기 (행렬X)
http://www.allcalc.org/16404 연립방정식을 푸는 방법으로서 역행렬, RREF, linsolve() 등을 이용한 일반적인 방법 이외에 가우스-자이델 Gauss-Seidel 반복법을 이용한 풀이법를 소개합니다.
1. 문제
다음 연립방정식을 "Gauss-Seidel 법"으로 풀어라.
2. 풀이
- a, b, c 변수에 0을 저장합니다. (x1, x2, x3 대식 a,b,c 를 사용합니다)
(값이 비어있을 경우에"Error: Circular definition" 이 발생할 수 있습니다)
- 각 식을 각각 a, b, c 에 대한 식으로 정리하고,
":" 기호를 이용해서 한 라인에 3개의 명령을 붙여 입력합니다.
- '2'의 마지막에 :{a,b,c} 를 추가합니다.
세 변수에 계산된 결과값을 한꺼번에 보기 위함입니다. 이게 없으면 마지막 명령인 c값만 화면에 보입니다. 를 눌러가면서 a, b, c 값의 변화를 확인합니다.
그런데, 이렇게 계속 하면 CASIO 계산기와 달리 분자/분모의 숫자만 커질 뿐 끝이 나지 않습니다.
따라서 몇번 하다가를 눌러서 적당히 근사값(approx) 계산으로 전환해줘야만 합니다.
분수꼴 결과가 필요하지 않다면 처음부터 ctrl enter 로 시작하셔도 되구요.
3. 검증
세상의모든계산기 님의 최근 댓글
예시11) 선형 연립방정식에서 답이 false 로 나올 때 https://allcalc.org/55823 2025 10.22 approx(참 해) 값이 이상하게 튀는 것 같아서 AI를 이용해 (python 으로) 구해보았습니다. * python 의 유효자릿수가 nspire 의 유효자릿수(14자리~15자리)보다 더 길기 때문에 시도하였습니다. ** 원래는 wolfram alpha 로 구해보려고 했는데, 울프람에서는 수식 길이가 너무 길다고 거부하는 바람에 포기하였습니다. 그 결과, AI approx(참 해) 값은 정상 범주에 포함되었고, 이는 solve()로 구한 대부분의 결과값과 유사하였습니다. 그럼 nspire 의 approx(참 해)는 왜 튀었나? 참 해에 더하기,빼기,곱하기,나누기 가 너무 많이 포함되어 있다보니, 모두 계산하고 나면 오차가 누적&증폭되어 버리는 것 같습니다. 그래서 오히려 solve의 numeric 한 접근보다도 더 큰 오차가 발생한 듯 하고, 그래서 적절한 해의 x 구간을 벗어나버린 듯 합니다. 그것이 처음의 solve 에서 false 를 이끌어낸 주 원인이 아니었을까요? (추정) 2025 10.21 그래프로 확인 그래프 함수로 지정하고, 매우 좁은 구간으로 그래프를 확대해 보면 불연속적인 그래프 모습이 확인됩니다. 이것은 한계 digits(15자리) 이상을 처리하지 못하기 때문일 것이구요. 다만 특이한 점은, 그래프상으로 교점에 해당하는 구간이 73.049507058477≤x≤73.049507058484 사이로 나오는데 -> 이 구간은 'solve에서 여러 방법으로 직접 구해진 해들'은 포함되는 구간입니다. -> 하지만, '참값인 해를 계산기로 구한 appprox 값 x=73.049507058547'은 포함되지 않는 구간입니다. 2025 10.21 tns 파일 첨부 sol_num_vs_exact.tns 2025 10.21 검증하면 1번 식을 x에 대해 정리하고, → 그 x 값을 2번 식에 대입해 넣으면 → 그 결과로 x는 사라지고 y에 대한 식이 되니, y에 대해 정리하면 참값 y를 얻음. 얻은 y의 참값을 처음 x에 대해 정리한 1번식에 대입하면 참 값 x를 얻음. 구해진 참값의 근사값을 구하면 x=73.049507058547 and y=23.747548955927 참 값을 approx() 로 변환한 근사값은 원래 방정식 모두를 만족할 수 없지만, linsolve() 로 찾은 근사값과, AI로 참 값을 근사변환한 값은 원래 방정식 모두를 만족할 수 있습니다. 2025 10.21