지금까지 함수가 주어지면 그 도함수를 구했습니다.
이제 방향을 뒤집습니다. 도함수에 관한 관계식이 주어지고, 그것을 만족하는 함수를 찾습니다.
왜 이 방향이 자연스러운지는 자연 현상을 기술하는 방식에 있습니다. 우리가 아는 것은 대개 변화율입니다.
| 현상 | 아는 것 |
|---|---|
| 방사성 붕괴 | 남은 양에 비례해 줄어듭니다 |
| 개체수 증가 | 현재 개체수에 비례해 늘어납니다 |
| 뉴턴 냉각 | 온도 차이에 비례해 식습니다 |
| 경사하강법 | 기울기의 반대로 움직입니다 |
넷째 줄이 이 단원의 목적지입니다.
109강의 경사하강법이 이 미분방정식을 이산화한 것이며, 119강에서 그 관점을 정면으로 다룹니다.
이 강의는 1계 방정식의 기본 풀이법과 해가 존재하는 범위를 세웁니다.
문제. , 을 봅니다(, ).
(1) 변수를 분리해 푸세요.
(2) 여러 에서 값을 구하세요.
(3) 반감기를 구하세요.
생각의 실마리. 가 들어간 항과 가 들어간 항을 양변으로 갈라 각각 적분합니다.
풀이. (1) 이면
(2) 검산에서
| 해석해 | 수치(오일러 ) | |
|---|---|---|
소수 다섯째 자리까지 맞습니다.
(3) 에서 이므로
이 문제에서 배우는 것: 변수분리.
변수분리형. 꼴이면
로 풀 수 있습니다.
53강의 치환적분이 근거입니다. 좌변을 에 대한 적분으로 보면
이고 로 치환한 것이 위 식입니다.
인 곳을 조심해야 합니다. 나눗셈이 불가능하므로 따로 봐야 하며, 그런 가 상수해입니다.
이것이 평형점이며 문제 3에서 다룹니다.
지수 감쇠가 나타나는 자리를 적어 둡니다.
| 분야 | 방정식 |
|---|---|
| 방사성 붕괴 | |
| RC 회로 | |
| 학습률 감쇠 | |
| 경사흐름(이차) | \dot{\mathbf{x}}=-H\mathbf |
넷째 줄이 109강입니다. 그때 이산 점화식 를 다뤘는데, 연속판이 이것이고 해가 입니다.
바로 확인 1.
확인 1-1. 변수분리형의 형태를 쓰세요.
답. 입니다.
확인 1-2. 이면 무엇이 됩니까?
답. 가 상수해이며 평형점입니다.
확인 1-3. 의 반감기를 쓰세요.
답. 입니다.
문제. , 을 봅니다.
(1) 적분인자를 찾으세요.
(2) 해를 구하세요.
(3) 의 거동을 보세요.
생각의 실마리. 변수분리가 안 됩니다. 양변에 무언가를 곱해 좌변을 미분 형태로 만들면 적분할 수 있습니다.
풀이. (1) 양변에 를 곱하면
곱의 미분 규칙이 좌변에 나타납니다.
(2) 적분하면
에서 이므로
검산에서
| 해석해 | 수치 | |
|---|---|---|
(3) 이므로 입니다.
이 문제에서 배우는 것: 적분인자.
1계 선형 방정식. 의 적분인자는
이며 양변에 곱하면 가 되어 적분으로 풀립니다.
왜 인지는 곱의 미분에서 나옵니다.
적분인자 자신이 미분방정식의 해입니다. 문제 1의 방법으로 풀면 입니다.
해의 구조가 두 부분으로 갈립니다.
| 부분 | 뜻 |
|---|---|
| 특수해 | 입력 가 만드는 정상 응답 |
| 제차해 | 초기조건이 만드는 과도 응답 |
**이 예에서 이고 과도 응답이 **입니다. 이면 과도 응답이 사라지고 정상상태만 남습니다.
중첩원리가 성립하는 것도 선형 방정식의 특징입니다. 입력이 이면 해가 각각의 해의 합이며, 76강의 선형변환과 같은 성질입니다. 118강에서 이 구조를 계 전체로 확장합니다.
바로 확인 2.
확인 2-1. 1계 선형 방정식의 적분인자를 쓰세요.
답. 입니다.
확인 2-2. 해의 두 부분을 쓰세요.
답. 특수해와 제차해이며 각각 정상 응답과 과도 응답입니다.
확인 2-3. 이면 에서 무엇이 남습니까?
답. 정상상태인 특수해만 남습니다.
문제. 로지스틱 방정식 를 봅니다(, ).
(1) 평형점을 모두 찾으세요.
(2) 와 에서 해의 거동을 보세요.
(3) 각 평형점의 안정성을 판정하세요.
생각의 실마리. 평형점은 인 곳입니다. 그 근처에서 부호를 보면 끌어당기는지 밀어내는지 알 수 있습니다.
풀이. (1) 에서
(2) 검산에서
| 평형 | |||
|---|---|---|---|
아래에서든 위에서든 으로 모입니다.
(3) 검산에서 의 부호를 보면
| 방향 | ||
|---|---|---|
| 증가 | ||
| 증가 | ||
| 증가 | ||
| 감소 | ||
| 감소 |
에서 멀어지고 로 모입니다.
이 문제에서 배우는 것: 평형점의 안정성.
평형점. 인 를 평형점이라 하며 가 상수해입니다.
선형화 판정. 이면 안정, 이면 불안정입니다.
근거는 국소적 선형근사입니다. 으로 두면
문제 1의 지수 방정식이 되고 해가 입니다.
로지스틱에서 확인합니다. 이므로 이고
| 평형점 | 판정 | |
|---|---|---|
| 불안정 | ||
| 안정 |
95강의 선형근사가 여기서 쓰입니다. 비선형 방정식의 국소 거동을 선형 방정식으로 근사하며, 118강에서 이를 계로 확장합니다.
로지스틱 방정식의 뜻도 짚어 둡니다. 가 작으면 이라 지수 증가이고, 가 에 가까우면 성장이 멈춥니다. 자원 한계가 있는 성장의 표준 모형이며 를 수용력이라 합니다.
바로 확인 3.
확인 3-1. 평형점의 정의를 쓰세요.
답. 인 점이며 상수해입니다.
확인 3-2. 안정성 판정 조건을 쓰세요.
답. 이면 안정입니다.
확인 3-3. 그 근거를 쓰세요.
답. 선형화하면 이라 지수 거동이기 때문입니다.
문제. 과 에서 시작합니다.
(1) 에서 두 해의 차이를 여러 에서 구하세요.
(2) 에서 같은 것을 구하세요.
(3) 차이의 거동을 비교하세요.
생각의 실마리. 문제 3의 선형화가 말해 줍니다. 차이 자체가 같은 방정식을 따릅니다.
풀이. (1) 검산에서
| 차이 | ||||
|---|---|---|---|---|
차이가 로 커집니다.
(2) 검산에서
| 차이 | |||
|---|---|---|---|
| 1.000\times10^ | |||
| 1.353\times10^ | |||
| 6.738\times10^ | |||
| 4.540\times10^ |
차이가 로 줄어듭니다.
(3) 부호에 따라 정반대입니다.
이 문제에서 배우는 것: 초기조건에 대한 민감도.
두 해의 차이를 라 하면 선형 방정식에서
차이가 같은 선형화 방정식을 따릅니다.
| 의 부호 | 차이 | 뜻 |
|---|---|---|
| 음수 | 줄어듭니다 | 초기 오차를 잊습니다 |
| 양수 | 커집니다 | 초기 오차를 증폭합니다 |
91강의 조건수와 같은 이야기입니다. 그때 입력 오차가 출력 오차로 얼마나 증폭되는지를 물었고, 여기서는 시간에 따른 증폭을 봅니다.
수치 계산에서 중요합니다. 불안정한 방정식은 아무리 정밀하게 풀어도 긴 시간 뒤에는 믿을 수 없습니다. 120강에서 이 문제를 다룹니다.
혼돈 현상의 씨앗도 여기 있습니다. 비선형 계에서 가 양수인 영역을 지나면 지수적으로 갈라지고, 유계 영역 안에서 접혀 돌아오면 예측이 불가능해집니다. 나비 효과가 그것입니다.
최적화와의 연결을 미리 적어 둡니다. 119강에서 경사흐름의 선형화가 이므로
| 임계점 | 의 고유값 | 안정성 |
|---|---|---|
| 극소 | 모두 음수 | 안정 |
| 극대 | 모두 양수 | 불안정 |
| 안장 | 섞임 | 불안정 |
101강의 분류가 안정성 분류가 됩니다.
바로 확인 4.
확인 4-1. 두 해의 차이가 따르는 방정식을 쓰세요.
답. 입니다.
확인 4-2. 이면 차이가 어떻게 됩니까?
답. 지수적으로 줄어듭니다.
확인 4-3. 그 성질이 수치 계산에서 왜 중요합니까?
답. 불안정하면 오차가 증폭되어 긴 시간 뒤 결과를 믿을 수 없습니다.
문제. , 을 봅니다.
(1) 변수분리로 푸세요.
(2) 해가 정의되는 범위를 구하세요.
(3) 수치로 확인하세요.
생각의 실마리. 은 매끄러운 함수라 문제가 없어 보입니다. 그런데 가 커지면 성장이 가속됩니다.
풀이. (1) 변수분리하면
에서 입니다.
(2) 이면 이므로 해가 에서만 존재합니다.
(3) 검산에서
| 해석해 | 수치(오일러 ) | |
|---|---|---|
에 다가갈수록 폭발합니다.
이 문제에서 배우는 것: 존재와 유일성.
피카르-린델뢰프 정리. 가 의 근방에서 연속이고 에 대해 립시츠 조건을 만족하면, 그 근방에서 초기값 문제의 해가 유일하게 존재합니다.
"근방에서"가 핵심입니다. 정리는 국소적인 존재만 보장하며, 전역적으로는 폭발할 수 있습니다.
의 립시츠 상수를 보면 이유가 보입니다.
가 커지면 상수도 커집니다. 유계 영역에서만 립시츠이고 전역적으로는 아닙니다.
와 비교하면 차이가 분명합니다.
| 방정식 | 립시츠 | 해의 범위 |
|---|---|---|
| 전역, 상수 | 모든 | |
| \dot y=y^ | 국소만 |
108강의 매끄러움 상수 과 같은 개념입니다. 그때 기울기의 립시츠 조건이 학습률의 상한을 정했는데, 여기서는 해의 존재 범위를 정합니다.
유일성이 깨지는 예도 있습니다.
는 과 을 모두 해로 갖습니다. 이 원점에서 립시츠가 아니기 때문이며, 미분이 발산합니다.
실무에서 뜻하는 바가 있습니다. 수치해법이 답을 내놓아도 그 시각에 해가 존재하는지는 따로 확인해야 합니다. 검산에서 까지는 잘 따라가지만 을 넘으면 무의미한 값을 냅니다.
바로 확인 5.
확인 5-1. 피카르-린델뢰프 정리의 조건과 결론을 쓰세요.
답. 에 대해 립시츠이면 국소적으로 해가 유일하게 존재합니다.
확인 5-2. , 의 해가 존재하는 범위를 쓰세요.
답. 입니다.
확인 5-3. 유일성이 깨지는 예를 쓰세요.
답. , 이며 원점에서 립시츠가 아닙니다.
| 형태 | 풀이법 |
|---|---|
| 변수분리 | |
| 적분인자 e^ | |
| 자율계, 평형점 분석 | |
| 완전형 | 퍼텐셜 함수 |
| 개념 | 내용 |
|---|---|
| 평형점 | |
| 안정 | |
| 불안정 | |
| 민감도 | |
| 존재와 유일 | 립시츠 조건, 국소적 |
| 대표 방정식 | 해 |
|---|---|
| y_{0}e^ | |
| 3+Ce^ | |
| 로지스틱 | |
| \dot y=y^ | , 유한시간 폭발 |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 인 곳을 빠뜨립니다 | 상수해가 됩니다 |
| 적분인자의 상수를 챙깁니다 | 아무 것이나 써도 됩니다 |
| 해가 전역적이라 가정합니다 | 폭발할 수 있습니다 |
| 립시츠를 확인하지 않습니다 | 유일성이 깨질 수 있습니다 |
문제 6. , 를 푸세요.
답. 입니다.
문제 7. 의 반감기를 구하세요.
답. 입니다.
문제 8. 를 푸세요.
답. 변수분리하면 입니다.
문제 9. 의 적분인자를 쓰세요.
답. 입니다.
문제 10. 문제 9를 푸세요.
답. 이므로 입니다.
문제 11. 뉴턴 냉각 를 푸세요.
답. 입니다.
문제 12. 의 평형점과 안정성을 쓰세요.
답. 은 불안정, 은 안정입니다.
문제 13. 의 평형점과 안정성을 쓰세요.
답. 이므로 은 안정, 은 불안정입니다.
문제 14. 두 해의 차이가 따르는 방정식을 쓰세요.
답. 입니다.
문제 15. , 의 폭발 시각을 구하세요.
답. 이므로 입니다.
문제 16. 립시츠 조건이 보장하는 것을 쓰세요.
답. 국소적인 해의 존재와 유일성입니다.
문제 17. 전역 립시츠이면 무엇이 달라집니까?
답. 해가 모든 에서 존재합니다.
문제 18. 유일성이 깨지는 예를 쓰세요.
답. , 입니다.
심화 1. 자율계의 상평면을 그리고 정성적으로 분석하세요.
처럼 가 명시적으로 없는 방정식을 자율계라 합니다. 특별한 성질이 있습니다.
첫째, 해를 시간축으로 평행이동해도 해입니다. 가 해이면 도 해입니다. 가 에 의존하지 않기 때문입니다.
둘째, 궤적이 교차하지 않습니다. 1차원에서는 이것이 강한 제약입니다.
진동할 수 없습니다. 만약 가 올라갔다 내려오면 어떤 값 을 두 번 지나는데, 그 점에서 이 한 번은 양수이고 한 번은 음수여야 해 모순입니다.
셋째, 평형점 사이에 갇힙니다. 평형점을 넘을 수 없으므로 각 구간 안에서만 움직입니다.
상평면 그리기가 이 성질들로 단순해집니다.
| 단계 | 하는 일 |
|---|---|
| 의 근을 찾습니다 | |
| 각 구간에서 의 부호를 봅니다 | |
| 부호에 따라 화살표를 그립니다 | |
| 화살표가 모이면 안정, 갈라지면 불안정 |
로지스틱에서 해 봅니다.
로 양쪽에서 모이고 에서 갈라집니다. 검산의 부호표가 이 그림입니다.
반안정 평형점도 있습니다. 의 이 그렇습니다. 이라 선형화로는 판정되지 않고, 부호를 직접 보면 왼쪽에서는 모이고 오른쪽에서는 갈라집니다.
101강의 준정치 상황과 같습니다. 그때도 헤세가 준정치이면 고차 항을 봐야 했습니다.
118강에서 2차원으로 올라가면 상황이 달라집니다. 궤적이 교차하지 않는 성질은 유지되지만 진동이 가능해지고, 극한주기 같은 새로운 현상이 나타납니다.
심화 2. 완전미분방정식과 퍼텐셜을 다루세요.
다음 형태를 봅니다.
어떤 함수 의 전미분이면 풀립니다.
95강의 전미분이 그대로 쓰입니다.
언제 그런 가 있는지가 문제이며, 답이 94강에 있습니다.
완전성 조건. 이면 단순연결 영역에서 가 존재합니다.
94강의 클레로 정리가 조건의 근거입니다. 그리고 99강 문제 5에서 본 "기울기장의 야코비가 대칭"이라는 사실과 같은 것입니다.
예를 봅니다. 에서
이므로 완전합니다. 을 적분하면 이고, 에서 입니다.
완전하지 않으면 적분인자를 찾습니다. 문제 2의 적분인자가 이 발상의 특수한 경우이며, 일반적으로는 찾기 어렵습니다.
퍼텐셜의 관점이 119강과 이어집니다. 경사흐름 에서 가 퍼텐셜이고, 해를 따라 가 단조 감소합니다.
97강의 연쇄법칙 한 줄이며, 119강의 리아푸노프 함수가 이것입니다.
심화 3. 초기값 문제를 적분방정식으로 바꾸세요.
존재 정리의 증명 발상을 봅니다. 초기값 문제
를 양변 적분하면
미분방정식이 적분방정식이 됩니다. 미지함수가 적분 안에 있어 여전히 풀리지 않지만, 반복법의 형태가 됩니다.
피카르 반복이라 하며, 이것이 수렴함을 보이는 것이 존재 정리의 증명입니다.
, 에서 해 봅니다.
| y_ | |
|---|---|
의 테일러 급수가 나옵니다. 54강에서 본 그 급수입니다.
수렴의 근거가 립시츠 조건입니다. 두 근사의 차이를 보면
이고 반복하면
계승이 분모에 있어 급격히 줄어듭니다. 33강의 비판정법으로 급수가 수렴하고, 그 극한이 해입니다.
바나흐 고정점 정리의 한 예이며, 같은 구조가 여러 곳에 나타납니다.
| 상황 | 축소사상 |
|---|---|
| 피카르 반복 | 적분 연산자 |
| 뉴턴법 | |
| 마르코프 연쇄 | 전이 행렬 |
| 값 반복 | 벨만 연산자 |
넷째 줄이 280강의 강화학습입니다. 벨만 연산자가 축소사상이라 값 함수가 유일하게 존재하며, 증명 구조가 여기와 같습니다.
심화 4. 미분방정식이 최적화에서 어떻게 나타나는지 미리 보세요.
119강에서 다룰 내용을 예고합니다.
경사흐름이며, 109강의 경사하강법이 이것의 오일러 이산화입니다.
가 시간 간격입니다. 이 관점에서 여러 가지가 새로 보입니다.
첫째, 안정성이 학습률 조건입니다. 120강에서 볼 오일러법의 안정 조건이 정확히 입니다. 108강에서 부등식으로 얻은 것과 같은 답을 다른 길로 얻습니다.
둘째, 모멘텀이 이차 방정식입니다. 111강 심화 4에서 봤듯
감쇠 진동이며 가 마찰입니다. 경사흐름은 인 극한입니다.
셋째, 다른 이산화가 다른 알고리즘입니다. 120강에서 룽게쿠타를 배우면 이 관점이 열립니다.
| 이산화 | 알고리즘 |
|---|---|
| 명시적 오일러 | 경사하강법 |
| 암시적 오일러 | 근위점법 |
| 이차 방정식 | 모멘텀 |
| 고차 룽게쿠타 | 고차 방법 |
둘째 줄이 흥미롭습니다. 암시적 오일러는
이고 이것이 116강 심화 2의 근위 연산자입니다.
암시적 방법은 무조건 안정이라 학습률 제한이 없습니다. 대신 매 걸음 최적화 문제를 풀어야 합니다.
넷째, 확산모형이 이 언어를 씁니다. 270강의 확률흐름 ODE가
이며, 이 강의의 언어로 읽힙니다. 점수 함수가 퍼텐셜의 기울기이고 흐름을 따라 잡음이 제거됩니다.
심화 5. 수치해법의 필요성과 오차를 미리 보세요.
이 강의에서 푼 방정식들은 모두 손으로 풀렸습니다. 대부분은 그렇지 않습니다.
같은 방정식은 초등함수로 표현되는 해가 없습니다.
오일러법이 가장 단순한 수치해법입니다.
95강의 선형근사를 반복 적용한 것이며, 접선을 따라 한 걸음씩 갑니다.
오차가 두 종류입니다.
| 오차 | 뜻 | 크기 |
|---|---|---|
| 국소 절단 | 한 걸음의 오차 | |
| 전역 | 누적된 오차 |
한 걸음은 인데 걸음이 번이라 전역 오차가 입니다. 100강 심화 3에서 본 논리와 같습니다.
검산에서 확인됩니다. 로 를 풀었을 때 오차가 규모였습니다.
| 해석해 | 수치 | 오차 | |
|---|---|---|---|
| 1.2\times10^ | |||
| 1.6\times10^ |
와 맞습니다.
더 정확한 방법이 필요하며 120강에서 다룹니다.
| 방법 | 전역 오차 |
|---|---|
| 오일러 | |
| 중점법 | |
| 룽게쿠타 4차 |
셋째 줄이 표준입니다. 같은 정확도를 훨씬 큰 로 얻을 수 있어 계산이 빠릅니다.
94강 심화 5의 교훈이 여기서도 적용됩니다. 를 줄이면 절단오차는 줄지만 반올림오차가 늘어나며, 최적 가 있습니다.
뻣뻣한 방정식이라는 어려움도 있습니다. 시간 척도가 크게 다른 성분이 섞이면 명시적 방법이 아주 작은 를 요구하며, 91강의 조건수 문제가 미분방정식에서 나타난 형태입니다.
심화 6. 118강으로 어떻게 이어지는지 정리하세요.
이 강의는 한 개의 방정식을 다뤘습니다. 118강이 여러 개로 넓힙니다.
S4가 통째로 도구가 됩니다. 해가
이고 를 대각화하면
각 고유방향이 자기 속도로 움직입니다. 109강 문제 1에서 이산 점화식을 성분별로 분해한 것과 같은 구조입니다.
| 강의 | 대상 | 분해 |
|---|---|---|
| 109 | (I-\eta H)^ | (1-\eta\lambda_{i})^ |
| 118 | e^ |
안정성 판정이 고유값의 실수부로 정해집니다.
문제 3의 1차원 조건 의 일반화입니다.
복소 고유값이 새로 나타납니다. 실수 방정식이어도 고유값이 켤레복소수일 수 있고, 그러면 진동이 생깁니다.
실수부가 감쇠를 정하고 허수부가 진동수를 정합니다. 심화 1에서 1차원 자율계는 진동할 수 없다고 했는데, 2차원부터 가능해집니다.
111강 심화 1과 이어집니다. 그때 모멘텀의 특성방정식이 복소근을 가질 때 수렴률이 로 균일해진다고 했는데, 같은 현상의 연속판입니다.
119강이 최적화로 돌아옵니다. 경사흐름의 선형화가 이므로 118강의 판정이 그대로 적용되고, 101강의 임계점 분류가 안정성 분류가 됩니다.
120강이 이산화를 다룹니다. 그리고 관문 3이 62강부터 120강까지를 섞어 묻습니다.
import numpy as np
# --- 문제 1: 변수분리 ----------------------------------------------------
print(" dy/dt = -k y, y(0) = y0 -> y = y0 e^{-kt}")
k, y0 = 0.7, 3.0
print(" t 해석해 수치(오일러 h=1e-5)")
for T in [0.5, 1.0, 2.0]:
h = 1e-5; y = y0; n = int(T/h)
for _ in range(n): y = y - h*k*y
print(" %7.1f %12.8f %14.8f" % (T, y0*np.exp(-k*T), y))
print(" 반감기 ln2/k = %.6f" % (np.log(2)/k))
# dy/dt = -k y, y(0) = y0 -> y = y0 e^{-kt}
# t 해석해 수치(오일러 h=1e-5)
# 0.5 2.11406427 2.11407648
# 1.0 1.48975591 1.48976269
# 2.0 0.73979089 0.73979245
# 반감기 ln2/k = 0.990210
# --- 문제 2: 적분인자 ----------------------------------------------------
print(" dy/dt + 2y = 6, y(0)=1. 적분인자 e^{2t}")
print(" (e^{2t} y)' = 6 e^{2t} -> y = 3 + (y0-3) e^{-2t}")
sol = lambda t: 3 + (1-3)*np.exp(-2*t)
print(" t 해석해 수치")
for T in [0.5, 1.0, 3.0]:
h = 1e-5; y = 1.0; n = int(T/h)
for _ in range(n): y = y + h*(6 - 2*y)
print(" %7.1f %12.8f %14.8f" % (T, sol(T), y))
print(" t -> inf 이면 정상상태 y = 3 (평형점)")
# dy/dt + 2y = 6, y(0)=1. 적분인자 e^{2t}
# (e^{2t} y)' = 6 e^{2t} -> y = 3 + (y0-3) e^{-2t}
# t 해석해 수치
# 0.5 2.26424112 2.26423376
# 1.0 2.72932943 2.72932943
# 3.0 2.99504250 2.99504279
# t -> inf 이면 정상상태 y = 3 (평형점)
# --- 문제 3: 로지스틱 방정식 --------------------------------------------
print(" dP/dt = r P (1 - P/K), r=0.8, K=100")
r, K = 0.8, 100.0
logi = lambda t, P0: K/(1 + (K/P0 - 1)*np.exp(-r*t))
print(" t P0=5 에서 P0=150 에서 평형 K=100")
for T in [0.0, 3.0, 6.0, 12.0]:
print(" %7.1f %12.6f %14.6f %12.1f" % (T, logi(T, 5.0), logi(T, 150.0), K))
print(" 두 평형점 P=0 (불안정) 과 P=K (안정)")
for P in [1.0, 50.0, 99.0, 101.0, 150.0]:
d = r*P*(1 - P/K)
print(" P=%6.1f dP/dt=%+9.4f -> %s" % (P, d, "증가" if d > 0 else "감소"))
# dP/dt = r P (1 - P/K), r=0.8, K=100
# t P0=5 에서 P0=150 에서 평형 K=100
# 0.0 5.000000 150.000000 100.0
# 3.0 36.715557 103.118225 100.0
# 6.0 86.477871 100.275080 100.0
# 12.0 99.871481 100.002258 100.0
# 두 평형점 P=0 (불안정) 과 P=K (안정)
# P= 1.0 dP/dt= +0.7920 -> 증가
# P= 50.0 dP/dt= +20.0000 -> 증가
# P= 99.0 dP/dt= +0.7920 -> 증가
# P= 101.0 dP/dt= -0.8080 -> 감소
# P= 150.0 dP/dt= -60.0000 -> 감소
# 아래에서든 위에서든 K 로 모입니다.
# --- 문제 4: 초기조건에 대한 민감도 -------------------------------------
print(" 같은 방정식, 초기값을 조금 바꾸면 (dy/dt = y, 불안정)")
print(" t y0=1.000 y0=1.001 차이 e^t * 0.001")
for T in [0.0, 2.0, 5.0, 10.0]:
a, b = np.exp(T), 1.001*np.exp(T)
print(" %7.1f %11.4f %11.4f %10.4f %11.4f" % (T, a, b, b-a, 0.001*np.exp(T)))
print(" 안정한 경우 (dy/dt = -y) 는 차이가 줄어듭니다")
for T in [0.0, 2.0, 5.0, 10.0]:
a, b = np.exp(-T), 1.001*np.exp(-T)
print(" %7.1f %11.6f %11.6f %10.3e" % (T, a, b, b-a))
# 같은 방정식, 초기값을 조금 바꾸면 (dy/dt = y, 불안정)
# t y0=1.000 y0=1.001 차이 e^t * 0.001
# 0.0 1.0000 1.0010 0.0010 0.0010
# 2.0 7.3891 7.3964 0.0074 0.0074
# 5.0 148.4132 148.5616 0.1484 0.1484
# 10.0 22026.4658 22048.4923 22.0265 22.0265
# 안정한 경우 (dy/dt = -y) 는 차이가 줄어듭니다
# 0.0 1.000000 1.001000 1.000e-03
# 2.0 0.135335 0.135471 1.353e-04
# 5.0 0.006738 0.006745 6.738e-06
# 10.0 0.000045 0.000045 4.540e-08
# 차이가 정확히 e^{F' t} 로 커지거나 줄어듭니다.
# --- 문제 5: 해가 유한 시간에 폭발 --------------------------------------
print(" dy/dt = y^2, y(0)=1 -> y = 1/(1-t), t=1 에서 폭발")
print(" t 해석해 1/(1-t) 수치(오일러 h=1e-6)")
for T in [0.5, 0.9, 0.99]:
h = 1e-6; y = 1.0; n = int(T/h)
for _ in range(n): y = y + h*y*y
print(" %7.2f %16.6f %18.6f" % (T, 1/(1-T), y))
print(" 립시츠 조건이 국소적으로만 성립해 해가 국소적으로만 존재합니다")
print(" 비교: dy/dt = y 는 전역 립시츠라 모든 t 에서 존재합니다")
# dy/dt = y^2, y(0)=1 -> y = 1/(1-t), t=1 에서 폭발
# t 해석해 1/(1-t) 수치(오일러 h=1e-6)
# 0.50 2.000000 1.999997
# 0.90 10.000000 9.999770
# 0.99 100.000000 99.953975
# 립시츠 조건이 국소적으로만 성립해 해가 국소적으로만 존재합니다
# 비교: dy/dt = y 는 전역 립시츠라 모든 t 에서 존재합니다
# 매끄러운 함수여도 해가 전역적으로 존재하지는 않습니다.
문제 5가 이 강의의 경고입니다. 은 무한번 미분가능한데도 해가 에서만 존재합니다.
118강에서 여러 개의 방정식으로 넓힙니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| 도트 | 입니다 | |
| 변수분리 | separable | 꼴입니다 |
| 적분인자 | integrating factor | 입니다 |
| 평형점 | equilibrium | 입니다 |
| 자율계 | autonomous | 가 명시적으로 없습니다 |
| 립시츠 조건 | Lipschitz condition | 유일성의 열쇠입니다 |
| 피카르 반복 | Picard iteration | 적분방정식의 반복법입니다 |
| 유한시간 폭발 | finite-time blowup | 해가 유한 시각에 발산합니다 |
| 완전형 | exact equation | 입니다 |
| 수용력 | carrying capacity | 로지스틱의 입니다 |
다음 118강에서는 선형 미분방정식과 안정성을 다룹니다. 한 개에서 여러 개로 넓히면 S4가 통째로 도구가 됩니다. 해가 이고 대각화하면 고유방향마다 분리되며, 안정성이 고유값의 실수부로 정해집니다. 복소 고유값에서 진동이 새로 나타나고, 그것이 111강 모멘텀의 연속판입니다.