- TI nspire
[TI-nspire] 그래프 - 미분 방정식 Diff Eq
1. 그래프 모드 - 미분 방정식 Diff Eq
- 미분 방정식 그래프 모드에서는 (대수적으로 시스템을 특징짓는) 미분 방정식을 풀지 않고도, 역동적인 과정(변화)를 탐색할 수 있습니다.
- 새로운(OS Ver 3.0에서 업데이트됨) 2D 그래프 유형인 미분 방정식은 미분 방정식의 해를 근사화하는 슬로프(Slope) 필드와 방향(Direction) 필드의 플롯을 제공합니다. 사용자는 Euler와 Runge-Kutta 해법 중에서 선택할 수 있습니다.
- (여러) 초기 조건에 따라 특정 솔루션을 시각화 할 수 있습니다. 초기 조건은 좌표 평면에서 드래그 할 수 있으며 특정 솔루션이 자동으로 업데이트됩니다.
- 그래프 유형 미분 방정식은 동일한 좌표계에서 다른 2D 그래프 유형과 결합 될 수 있습니다.
(TI-nspire OS Ver3 Release Note 에서 발췌)

2. 옵션

- Solution Method(수치해석 방법) :
Euler / Runge-Kutta 중 선택
- Iterations between plot step(Euler 방법에서 계산의 정확도 결정) : 1 ~ 정수값
Error Tolerance(RK방법에서 오차 허용) : 허용 범위 ≥ 1x10^-14
- Field(장) :
None - 표시하지 않음
Slope - 경사
Direction - 두 미분 방정식 사이의 관계를 나타내는 기울기 방향
- Axes :
Default(x and y)
Custom - 2개이상 미분 방정식일 때 사용
The available entries are :- x 독립변수
- y1 and y2 (or any other identifiers defined in the editor)
- y1’ and y2’ (or any other derivatives defined in the editor)
- Plot Start :
솔루션 플롯이 시작되는 독립 변수값을 결정 - Plot End :
솔루션 플롯이 끝나는 독립 변수값을 결정 - Plot Step :
값이 표시될 독립변수 값의 증가량을 결정
- Field Resolution :
Field 표시할 열의 갯수 결정
- Direction Field at x= :
방향 필드가 그려지는 독립변수의 값을 설정
3. 예시 y'=2x, y(0)=1
1. y'=2x, y(0)=1 인 미분 방정식을 이용해 그래프를 그려 보겠습니다.
x는 그냥 x로,
y는 y1 또는 y2로 입력합니다. (좌변, 우변 모두에서)

2. 미분 방정식을 풀면 y=x^2 + 1 이 됩니다.
이 그래프를 겹쳐 확인해 보면 얼추 같아 보입니다.

3. 하지만 확대해 보면... 원래 그래프와는 오차가 있습니다.

f1(0.5) = 0.5^2+1 = 1.25
4. 이를 해결하기 위해 Diff Eq 엔트리 옵션에서 Iterations Between Plot Step 을 기본값인 1에서 10으로 올려 보았습니다.

오차가 줄어들었습니다. 그래도 점 찍힌 모양새가 원 그래프와 일치하지는 않는 것 같습니다.
Iteration 횟수를 늘리는 대신 Plot Step 을 줄여도 오차는 줄어듭니다.
5. Plot Step 을 줄이면 점 찍히는 간격이 줄어 촘촘해지는 것은 확실한데,
Plot Start / End 는 정확히 어떤 역할을 하는지 잘 모르겠습니다.
6. 초기 조건이 여럿인 경우 그래프도 여럿이 출력됩니다.

4. 주의
초기 조건값의 선택에 따라 plot 그려지는게 달라질 수 있습니다. 초기 조건값을 만족하는 그래프plot이 딱 하나일 수도 있지만, 여러개일 가능성도 있기 때문입니다.
초기 조건값을 여러개 넣는 경우, (desolve 함수와 달리) 모든 조건값을 동시에 만족하는 그래프를 찾는 것이 아니고, 각각의 조건값을 만족하는 모든 그래프를 모조리 찾기 때문에, 조건값은 가급적 하나만 넣는 것이 바람직한 것 같습니다.
그리고 slope(기울기)가 0 또는 ∞ 이 되는 점을 초기값으로 주는 것은 바람직하지 않은 것 같기도 한데, 이것 역시 케이스바이케이스입니다.







세상의모든계산기 님의 최근 댓글
뉴턴-랩슨 적분 방정식 시각화 v1.0 body { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; display: flex; flex-direction: column; align-items: center; background: #f8f9fa; padding: 40px 20px; margin: 0; color: #333; } .container { background: white; padding: 40px; border-radius: 20px; box-shadow: 0 15px 35px rgba(0,0,0,0.08); max-width: 900px; width: 100%; } header { border-bottom: 2px solid #f1f3f4; margin-bottom: 30px; padding-bottom: 20px; } h1 { color: #1a73e8; margin: 0 0 10px 0; font-size: 1.8em; } p.subtitle { color: #5f6368; margin: 0; font-size: 1.1em; } .equation-box { background: #f1f3f4; padding: 15px; border-radius: 10px; text-align: center; margin-bottom: 30px; font-size: 1.3em; } canvas { border: 1px solid #e0e0e0; border-radius: 12px; background: #fff; width: 100%; height: auto; display: block; } .controls { margin-top: 30px; display: flex; gap: 15px; align-items: center; justify-content: center; flex-wrap: wrap; } button { padding: 12px 25px; border: none; border-radius: 8px; background: #1a73e8; color: white; cursor: pointer; font-weight: 600; font-size: 1em; transition: all 0.2s; box-shadow: 0 2px 5px rgba(26,115,232,0.3); } button:hover { background: #1557b0; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(26,115,232,0.4); } button:active { transform: translateY(0); } button.secondary { background: #5f6368; box-shadow: 0 2px 5px rgba(0,0,0,0.2); } button.secondary:hover { background: #4a4e52; } .status-badge { background: #e8f0fe; color: #1967d2; padding: 8px 15px; border-radius: 20px; font-weight: bold; font-size: 0.9em; } .explanation { margin-top: 40px; padding: 25px; background: #fff8e1; border-left: 5px solid #ffc107; border-radius: 8px; line-height: 1.8; } .explanation h3 { margin-top: 0; color: #856404; } .math-symbol { font-family: 'Times New Roman', serif; font-style: italic; font-weight: bold; color: #d93025; } .code-snippet { background: #202124; color: #e8eaed; padding: 2px 6px; border-radius: 4px; font-family: monospace; } 📊 Newton-Raphson 적분 방정식 시뮬레이터 미분적분학의 기본 정리(FTC)를 이용한 수치해석 시각화 목표 방정식: ∫₀ᴬ (2√x) dx = 20 을 만족하는 A를 찾아라! 계산 시작 (A 추적) 초기화 현재 반복: 0회 💡 시각적 동작 원리 (Newton-Raphson & FTC) Step 1 (오차 측정): 현재 A까지 쌓인 파란색 면적이 목표치(20)와 얼마나 차이나는지 계산합니다. Step 2 (FTC의 마법): 면적의 변화율(미분)은 그 지점의 그래프 높이 f(A)와 같습니다. Step 3 (보정): 다음 A = 현재 A - (면적 오차 / 현재 높이) 공식을 사용하여 A를 이동시킵니다. 결론: 오차를 현재 높이로 나누면, 오차를 메우기 위해 필요한 가로 길이(ΔA)가 나옵니다. 이 과정을 반복하면 정답에 도달합니다! const canvas = document.getElementById('graphCanvas'); const ctx = canvas.getContext('2d'); const iterText = document.getElementById('iterText'); // 수학 설정 const targetArea = 20; const f = (x) => Math.sqrt(x) * 2; // 피적분 함수 f(x) = 2√x const F = (x) => (4/3) * Math.pow(x, 1.5); // 정적분 결과 F(x) = ∫ 2√x dx = 4/3 * x^(3/2) let A = 1.5; // 초기값 let iteration = 0; let animating = false; // 그래프 드로잉 설정 const scale = 50; const offsetX = 60; const offsetY = 380; function drawGrid() { ctx.strokeStyle = '#f1f3f4'; ctx.lineWidth = 1; ctx.beginPath(); for(let i=0; i 2026 04.11 참값 : A = ±2√5 근사값 : A≈±4.472135954999579392818347 2026 04.10 fx-570 ES 입력 결과 초기값 입력 반복 수식 입력 반복 결과 2026 04.10 파이썬 코드 검증 결과 초기값: 5.0 반복 1회차: 4.5000000000 반복 2회차: 4.4722222222 반복 3회차: 4.4721359558 반복 4회차: 4.4721359550 반복 5회차: 4.4721359550 초기값: 10.0 반복 1회차: 6.0000000000 반복 2회차: 4.6666666667 반복 3회차: 4.4761904762 반복 4회차: 4.4721377913 반복 5회차: 4.4721359550 2026 04.10 감사합니다. 주말 잘 보내세요. 2026 03.06