Loading
2014. 8. 31. 12:17 - 성돌

[Mathematica] 적분인자(Integrating factor)를 구하는 코드




예전에 쓸려고 만들어놓았던 코드인데...


사실 사람들이 이거 쓸지는 모르겠지만, 일단 올려보고자 한다.


아래와 같은 1차 상미분방정식이 있을 때




이 미분방정식이 exact하지 않을 때, 

F(x)나 F(y)를 곱함으로 미분방정식을 exact하게 만들어줌으로 미분방정식을 풀 수 있게 해주는 것이다.

(이 포스팅은 mathematica 코드를 공유하기 위한 것으로,
exact하다는 것에 대한 설명은 생략하겠다)


그니까 F라는 함수를 곱해서 exact하게 된 미분방정식은 아래와 같다.



또는



여기서 F(x)나 F(y)중 뭘 선택할지는 편의에 따라 선택하면 된다.

(어떤 것을 선택해야 문제가 쉬워질지를 생각하면서-)


그리고 아래와 같이 공식을 대입해주면 되는데,




또는



위의 공식을 구현해준 것이 아래의 코드이다.



IntergratingFactor.nb


늘 해왔던 대로 위의 적어놓은 부분만 변경함으로 코드를 사용할 수 있고,

아래의 예처럼 구한 적분인자가 정확해서 미분방정식이 exact해지면 true라는 값을 내보인다.


IntergratingFactor2.nb