Ищу: C # библиотека программирования для математики - PullRequest
3 голосов
/ 19 сентября 2010

Что мне нужно: создание графиков, вещи для интерполяции, вещи для подсчета таких вещей, как

alt text

и

alt text

где L (x) - интерполяция, построенная из некоторых данных (точек), сгенерированных из известной оригинальной функции f (x). Это означает, что мы знаем оригинальную функцию. у нас есть диапазон (-а, а) - известный. Нам нужна библиотека, чтобы помочь нам рассчитать точки данных в диапазоне. нам нужно вычислить L (x) полинома, используя эти данные в этом диапазоне.

Мне нужно, чтобы эта библиотека была бесплатной и с открытым исходным кодом

Ответы [ 5 ]

4 голосов
/ 19 сентября 2010

Возможно Math.NET может помочь вам.

2 голосов
/ 19 сентября 2010

Проверьте этот другой ответ https://stackoverflow.com/questions/1387430/recommended-math-library-for-c-net, в частности, некоторые люди думают, что MathDotNet хорош.

1 голос
/ 19 сентября 2010

Для создания сюжета вам может понадобиться Excel Interop (почему бы и нет?) Или ILNumerics.NET .

Но я не понимаю других требований.Вы хотите измерить ошибки интерполяции (в максимуме и норме L1) из функции, которую вы не знаете?Это не вопрос программирования, это вопрос математики.

Я предлагаю вам взглянуть на библиотеки интерполяции (например, Math.NET содержит одну, но многие другие также делают) и посмотреть, предоставляют ли они такие вещи, как "оценка ошибок ".

В противном случае вам понадобится математическая книга, которая объяснит вам предположения по f, которые необходимы для оценки ошибки интерполяции.Это зависит от того, что вы знаете о регулярности f и методе интерполяции.

Редактировать, учитывая предоставленную дополнительную информацию: Существуют формулы закрытых форм для ошибок интерполяции ( здесьв качестве отправной точки ).Но любая процедура числовой интеграции (которую Math.NET не предоставляет ) даст то, что вы хотите.Взгляните на библиотеки, на которые указывали другие люди: эта ссылка поможет вам начать работу.

Поскольку у вас, кажется, есть обычные функции (так как вы выполняете полиномиальную интерполяцию), я бы пошел с простой интеграция Ромберга , которую довольно просто реализовать на случай, если вы не найдете библиотеку, которая соответствует вашим потребностям (я сомневаюсь в этом)Посмотрите Числовые Рецепты, 3-е издание для примера кода.

1 голос
/ 19 сентября 2010

Math.NET и ILNumerics.Net являются открытыми исходными текстами и будут решать ваши уравнения.

1 голос
/ 19 сентября 2010

Как насчет использования Mathematica ?

...