- 세상의 모든 계산기 수학, 과학, 공학 이야기 수학 ()
고정점 반복법, Fixed Point Iteration (비선형 방정식의 해를 찾는 방법)
시행착오법을 통해 비선형 방정식의 해를 찾는 방법은 여러 가지가 있으며,
그 중 하나가 "고정점 반복법" (Fixed Point Iteration)입니다.

고정점 반복법 (Fixed Point Iteration)
- 정의: 함수 \( f(D) = 0 \)의 해를 구하기 위해, 반복적으로 특정 형식의 함수 \( g(D) \)를 설정하여 \( D_{\text{new}} = g(D) \)의 형태로 업데이트하는 방법입니다.
- 용도: 비선형 방정식, 유체 유동 해석, 공학적 문제 등 다양한 분야에서 해를 찾기 위해 사용됩니다.
기타 관련 방법
- 뉴턴-랩슨 방법 (Newton-Raphson Method):
- 기울기를 이용하여 해를 찾아가는 방법으로, 일반적으로 더 빠른 수렴 속도를 제공합니다. 하지만 초기값에 대한 의존성이 큽니다.
- 바이섹션 방법 (Bisection Method):
- 함수의 값을 이용하여 중간값을 반복적으로 좁혀가는 방법입니다. 안정적이지만 수렴 속도는 상대적으로 느립니다.
- 이분법 (Secant Method):
- 두 점의 기울기를 이용해 해를 찾는 방법으로, 뉴턴-랩슨 방법의 대안으로 사용할 수 있습니다.
각 방법은 특정 상황에서의 장단점이 있으므로 문제에 맞는 방법을 선택하는 것이 중요합니다.
고정점 반복법의 예시 (2차방정식)
2차 방정식 예제로 주어진 방정식이 다음과 같다고 가정하겠습니다:
\[
x^2 - 3x - 4 = 0
\]
이 방정식을 고정점 형태로 변형하여 해결해 보겠습니다.
1. 방정식 변형
방정식을 고정점 형태로 변형하려면 \( x \)에 대해 다시 정리해야 합니다. 예를 들어, 위의 방정식에서 \( x \)에 대한 식으로 바꿉니다:
\[
x = \frac{3x + 4}{x} = 3 + \frac{4}{x}
\]
이제 고정점 함수 \( g(x) \)를 정의할 수 있습니다:
\[
g(x) = 3 + \frac{4}{x}
\]
2. 초기값 설정
고정점 반복법을 시작하기 위해 초기값을 설정합니다. 예를 들어, \( x_0 = 5 \)로 시작하겠습니다.
3. 반복 계산
이제 반복적으로 \( x \) 값을 업데이트합니다:
\[
x_{\text{new}} = g(x)
\]
1. 첫 번째 반복:
\[
x_1 = g(x_0) = 3 + \frac{4}{5} = 3 + 0.8 = 3.8
\]
2. 두 번째 반복:
\[
x_2 = g(x_1) = 3 + \frac{4}{3.8} \approx 3 + 1.0526 \approx 4.0526
\]
3. 세 번째 반복:
\[
x_3 = g(x_2) = 3 + \frac{4}{4.0526} \approx 3 + 0.9875 \approx 3.9875
\]
4. 네 번째 반복:
\[
x_4 = g(x_3) = 3 + \frac{4}{3.9875} \approx 3 + 1.0031 \approx 4.0031
\]
이런 식으로 계속 반복하여 \( x_n \)이 수렴할 때까지 진행합니다.
4. 수렴 확인
반복을 계속 진행하다 보면, \( x \) 값이 안정화되어 수렴하게 됩니다.
예를 들어, 수렴 조건으로 \( |x_{\text{new}} - x_{\text{old}}| < \epsilon \) (여기서 \( \epsilon \)은 설정한 허용 오차) 를 사용할 수 있습니다.
* g(x) 함수에 따라 수렴하지 않고 발산할 수도 있습니다.
수렴 조건:
- |g'(x)| < 1 인 구간에서 수렴이 보장됩니다.
- 이는 연속 반복에서 점들이 서로 가까워짐을 의미합니다.
댓글2
-
-
1
세상의모든계산기
g(x) 형식은 여러가지가 될 수 있습니다.
이번엔 x = g(x) = 'x의 2차식' 꼴로 설정해 보겠습니다.

수렴하긴 했는데... x=4 를 구하고 싶었지만, x=-1이 구해졌습니다.
그렇다고 x0=5 으로 시작하면 발산해버리고 맙니다.
x=4가 구해지지 않는 것은 그래프 모양으로 확인할 수 있습니다.

앞서 보았던 분수함수와 달리 2차함수는 g(x) 값이 y=x 의 아래 있기 때문에 x가 더 작은 값으로 이동해 갑니다.
따라서
g(x)|x<-1 는 -1로
g(x)|-1<x<4 는 -1로
g(x)|4<x ∞ 로 이동하게 되어
x=4 로 수렴하지는 못합니다.


세상의모든계산기 님의 최근 댓글
2번 사진 3개 사진 공통적으로 구석(corner) 에 증상이 있다는 특징이 있네요. 영상 찾아보니 이 가능성이 가장 높은 듯 합니다. https://www.youtube.com/watch?v=zxRBohepzwc ㄴ Liquid Crystal Leakage (액정 누설). ㄴ 손으로 밀어내니 주변으로 밀려나네요. 그래서 점으로 보이기도 하구요. 2025 10.29 500! 의 십진수 근사값 확인 500! = 1.22013682599111006870123878542304692625357434280319284219241358838 × 10^(1134) (참값, 울프람 알파) 2025 10.29 관련 라이브러리 https://allcalc.org/56263 sgn(x) 내장된 부호 함수(signum function)와 달리, 이 함수의 sgn(0)은 0을 반환합니다. 2025 10.29 라이브러리로 사용할 수 있습니다. (제작자 추천) 1. mylib 폴더에 넣기 2. Actions ➡️ library ➡️ refresh libraries 실행 하기 2025 10.29 ChatGPT-5 기호(÷, /, :) 자체는 의미적으로 같은 “나눗셈”을 뜻하지만, 문맥(사람이 쓰는 수학 vs 컴퓨터/프로그래밍)에 따라 해석 우선순위가 달라질 수 있습니다. 🔹 1️⃣ 전통 수학 표기 — ÷, /, : 수학 교과서, 논문, 일반 문서 등에서는 셋 다 의미적으로 “나누기”로 간주됩니다. 즉, 48÷2(9+3), 48/2(9+3), 48:2(9+3) 은 같은 의미로 받아들여야 합니다. 모두 사람의 수학 관행적 해석이 적용되어 48 ÷ 2 × (9+3) = 288 로 처리되죠. 즉, 기호가 바뀌어도 결과는 바뀌지 않습니다. 🔹 2️⃣ 컴퓨터·프로그래밍 문맥에서 / 사용 시 컴퓨터는 “생략된 곱셈(implicit multiplication)”을 따로 구분하지 못합니다. 따라서 다음 두 식은 완전히 다르게 인식됩니다. 표현 파이썬 등에서 해석 결과 48 / 2*(9+3) ((48 / 2) * (9+3)) 288 48 / 2(9+3) ❌ 문법 오류 (생략된 곱셈 인식 불가) — 즉, 컴퓨터 언어에서는 생략된 곱셈이 허용되지 않기 때문에, /는 반드시 명시적 *와 함께 써야 합니다. 🔹 3️⃣ “:” 기호의 경우 현대 수학에서는 “비율”을 나타내는 기호로 쓰입니다. a:b = \frac{a}{b} 따라서 (27 : 3(1+2)3) 같은 표현은 모호하거나 비표준적으로 간주됩니다. 대부분의 경우 계산기로는 입력 자체가 불가능합니다. ✅ 정리 기호 의미 결과 변화 주로 쓰이는 문맥 ÷ 나누기 없음 초중등 수학, 일반 표기 / 나누기 없음 (단, 프로그래밍에서는 생략 곱 불허) 수학/컴퓨터 : 비율 (또는 나누기 의미로 혼용) 보통 계산식에서는 사용 안 함 비, 비율 표기 🔹 결론 48 ÷ 2(9+3), 48/2(9+3), 48:2(9+3) 는 “수학적 의미”로는 동일하게 81로 해석됩니다. 하지만 프로그래밍이나 수식 파서(context) 에서는 /만 유효하고, 생략된 곱은 허용되지 않으며, :는 아예 다른 의미(비율)로 인식됩니다. 2025 10.28