|
Скачать (исходники + скомпилированный release) Эта библиотека выросла из библиотеки для комплексных чисел в .NET, которую сделал сначала. Потом туда же добавил преобразования Фурье, а потом, когда понадобилось сделать еще и аппроксимацию, то понял, что надо разбить библиотеку на отдельные сборки. Ниже кратко опишу все dll-ки и что в них находится. Использование этой библиотеки никаких вопросов вызвать не должно, да и в юнит-тестах всегда можно подсмотреть как что вызывать. Complex.dll - комплексные числаСюда входят два класса - Complex, в котором, собственно, и содержатся все операции над числами, и Polar - вспомогательный класс для создания комплексных чисел в полярной системе координат (по модулю и аргументу). Конструкторов у этих классов несколько: public Complex (double re) public Complex (double re, double im) public Complex (Complex x) public Complex (Polar x) А для создания класса Polar есть следующие конструкторы: public Polar (double r) public Polar (double r, double phi) Также есть операторы для преобразования между Polar, Complex и double. Fourier.dll - преобразования ФурьеЗаметьте, что здесь именно преобразованиЯ, а не только быстрое преобразование Фурье. Статический класс Fourier содержит следующие функции:
Approximation.dll - аппроксимация функцийВ данный момент в этой сборке находятся два класса - Spline для аппроксимации (интерполяции, экстраполяции) массива кубическим сплайном и Polynomial для аппроксимации полиномом, степень которого задается при создании этого класса, методом наименьших квадратов. Все эти классы реализуют интерфейс IApproximation, который содержит единственный член - double GetValue (double xpoint). Это сделано для того, чтобы можно было бы не зависеть от типа аппроксимации. Алгоритмы для аппроксимаций я брал из книги В. П. Дьяконова "Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ", 1987 г. UnitTest.dll - юнит-тесты всех классовДля каждого из этих классов были написаны юнит-тесты, по которым можно заодно посмотреть как использовать нужный класс. Для создания Юнит-тестов использовалась библиотека NUnit версии 2.2.7. Ну что ж, надеюсь Вам понравится эта библиотека.
Пожалуйста, оцените материал
|