реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> численное интегрирование, ищу код на С
TigerSHARC
сообщение Aug 5 2012, 07:00
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



ищу исходники взятия интеграла методом прямоугольников и сплайнов. нужны исходники на С. Наверняка такое в институтах на лабах есть.
Go to the top of the page
 
+Quote Post
Gate
сообщение Aug 5 2012, 09:43
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Рекомендую книгу "numerical recipes in с".
http://astronu.jinr.ru/wiki/upload/d/d6/Nu...lRecipesinC.pdf
Можно найти и исходники, если из текста брать неудобно.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
_pv
сообщение Aug 6 2012, 07:09
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(TigerSHARC @ Aug 5 2012, 13:00) *
ищу исходники взятия интеграла методом прямоугольников и сплайнов. нужны исходники на С.


Код
double Integral(double * x, double * y, int num){
  double r = 0;
  for (int i = 1; i < num; i++) r += y[i] * (x[i] - x[i-1]);
//  for (int i = 1; i < num-1; i++){r += 0.5L * y[i] * (x[i+1]-x[i-1]);} r += 0.5L * (y[0] * (x[1]-x[0]) + y[num-1] * (x [num-1]-x[num-2]));
//  for (int i = 1; i < num; i++) r += 0.5L * (y[i] + y[i-1]) * (x[i] - x[i-1]);
  return r;
}


есть некие различия для неравномерной сетки по х.

еще есть промежуточный вариант симпсона, где не через две точки проводится прямая, как в коде выше, а через три - парабола, ну или через 4 кубический полином. Радость по сравнению со сплайнами, что не надо по массиву несколько раз бегать, для построения честных кубических сплайнов, можно считать на ходу.

за исходниками сюда: alglib
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 03:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.02202 секунд с 7
ELECTRONIX ©2004-2016