Показать сообщение отдельно

  #5306  
Старый 15.05.2010, 22:38
qwert135
Познающий
Регистрация: 22.11.2009
Сообщений: 53
С нами: 8667664

Репутация: 0
По умолчанию

Всем привет.Проблема в следующем: у меня есть следующая функция, для построения полинома Лагранжа:
Код:
double Lagrange(double *X, double *Y, int NumberOfKnots, double X_input){
	double solution = 0, *temp;
	int i, j;
	
	temp = new double[NumberOfKnots];
	
	for(i = 0;i < NumberOfKnots;i++){
		temp[i] = 1;
		for(j = 0;j < NumberOfKnots;j++){
			if(i != j){
				temp[i] = temp[i] * (X_input - X[j]) / (X[i] - X[j]);
			}
		}
		solution = solution + Y[i] * temp[i];
	}
	
	delete []temp;
	return solution;
}
Теперь мне нужно взять первую и вторую производную, ток я хз как. Есть конечно одна идея, а именно: находить производные от выражений Y[i] * temp[i] и потом просуммировать все полученные производные, но может кто алгоритм получше подскажет.Заранее спасибо.
 
Ответить с цитированием