본문 바로가기

Various Developments/Numerical Analysis Library(with C#)2

[C# Numerical analysis Lib] Bisection Method 이분법(Bisection Method) 이분법은 수치해석에서 방정식의 근을 찾는 알고리즘 중 하나입니다. 이 알고리즘은 주어진 구간에서 함수 값의 부호가 서로 다른 두 점을 찾아서 그 중간 지점에서 함수값이 0에 가장 가까워지는 근을 찾아가는 방식으로 동작합니다. 알고리즘 순서 알고리즘 동작 순서는 다음과 같습니다. 주어진 구간 [a, b]에서 함수 f(x)의 값이 서로 다른 두 점을 찾습니다. 이를 위해 구간의 중앙값인 c를 구하고, f(a)와 f(c)의 부호가 다르면 [a, c]로 구간을 좁히고, f(c)와 f(b)의 부호가 다르면 [c, b]로 구간을 좁힙니다. 구간을 좁힌 후, 새로운 중앙값 c를 구합니다. 이 때, c = (a + b) / 2로 구할 수 있습니다. 새로운 중앙값 c에서 함수값 f.. 2023. 3. 5.
[C# Numerical analysis Lib] 수치 해석 라이브러리 개발 개발에 들어가며... 과거 학부시절 수치해석을 공부하면서 사용했던 코드들이 전부 C나 C++로 구현되어 있었습니다. 당시에는 C#으로 개발된 라이브러리를 쉽게 구할 수 없었기 때문에 누군가가 집필한 참고 도서를 보면서 필요한 알고리즘을 직접 구현해야 했습니다. 그때 구현한 코드들은 플로피 디스크를 거쳐 지금은 외장하드에 고이 보관되어 있지만 활용을 안 하는 지금 사장시키기에는 아깝다는 생각이 들었습니다. 코드도 있고, 레퍼런스도 있고, 과거의 구현 경험도 있기때문에 이제는 C#으로 재탄생시켜 나만의 C# 라이브러리 목록에 추가해 보면 어떨까 하는 생각을 하게 되었습니다. 개인적인 생각이지만 자신만의 라이브러리를 만든다는 것은 매우 멋진 일이라고 생각합니다. 다양한 분야에서 사용되는 라이브러리를 만들다 보.. 2023. 3. 5.