2012-05-02 4 views
0

나는 비선형 연립 방정식 시스템을보고있다. 두 변수는 u> 0 및 b> 0입니다. Matlab, Python 또는 Fortran에서이 문제를 어떻게 해결할 수 있습니까? 감사.비선형 연립 방정식 (Matlab, Python 또는 Fortran)을 풀는 방법

Nonlinear simultaneous equations

+0

강의 노트 이외에도 비선형 방정식을 풀기위한 알고리즘에 대한 인터넷 참조가 많이 있습니다. 이러한 열린 질문은이 포럼에 실제로 잘 맞지 않습니다. –

+0

개인적으로, 나는 그 의견이 도움이된다고 생각하지 않는다. 그것은 개방적인 질문이 아닙니다. 알고리즘 조언을 요구하는 것일뿐입니다. 아마 여기에 제안 할 물건이 없겠지만 그건 나쁜 질문이 아닙니다. – duffymo

+0

고맙습니다. 나는 수학 커뮤니티에서 그 질문을해야한다고 생각합니다. –

답변

0

당신은 쉽게 B의 1을 해결함으로써 그 방정식 중 하나를 제거 할 수 있습니다. 그런 다음 그것을 사용하여 # 2를 푸십시오.

반복적 인 방법을 사용해야합니다. 솔루션을 추측하고 예상치를 계산하고 추측치와 비교하고 수렴 할 때까지 조정하고 반복하십시오.

저는 적분을 계산하기 위해 수치 적분 (5 차 Runge-Kutta 또는 다른 것)을 사용합니다.

2

나는이 질문이 정말로 여기에 속해 있는지 정말로 모르겠다. 그러나이 솔루션은 이론 상으로는 간단합니다. 방정식 1은 b에 대해 u의 함수로 trivially 해결됩니다. 방정식 2로 대체하십시오. 여기서 b는 단 한 곳으로 나타납니다.

이제 새로운 방정식 2에 rootfinder를 사용하여 해당 관계를 충족시키는 u의 값을 계산할 수 있습니다. u에 대한 값이 주어지면 적응 형 수치 구적법 루틴을 사용하여 통합을 수행 할 수 있습니다. MATLAB에서 그것은 quadgk와 같은 것입니다. (ODE 해결사는 필요 이상으로 많은 정보를 제공하므로 걱정하지 마십시오. 전체 적분 만 필요합니다.)

실제로 통합의 커널은 변수 t의 간단한 다항식입니다. 적분에서 u^10 요인. 따라서, 첫 학기 미적분은 연필과 종이가 필요하지만 손으로 ​​통합 할 것입니다. 또는 기호 도구 상자로 충분합니다. 긴 줄이긴하지만 해결하기위한 한 줄의 호출만으로도 충분할 것입니다. 그리고 나는 그것을 작성하기에는 너무 게으른 느낌입니다.

모든 것을 말하면서 숫자 통합은 다소 큰 지수로 숫자가 불쾌하고 거대하기 때문에 약간 문제가 될 수 있습니다. 따라서, 그것은 또한 여러분이 솔루션을 상징적으로하고 싶어한다는 것을 의미합니다.

정말이 질문에 대한 수치 해석 도구를 던지는 것은 나쁜 도구 아이디어입니다. 특히 기호 도구 상자 (연필과 종이!)와 같은 도구가 충분하고 유용 할 때 그렇습니다.

관련 문제