Как вам такой интеграл?

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить

Оцените функцию и укажимте на глюки.

Можно выбрать до 1 варианта ответа

 
 
Результаты голосования
atavin-ta
Сообщения: 572
Зарегистрирован: 30 янв 2009, 06:38

03 апр 2009, 14:34

[syntax=C++]
typedef float (*tf) (float x);
float *inter (float x, tf f, int p, float dx);
float integ(float xmin, float xmax, tf f, float dx, int p)
{
float x;
float r;
int i;
float *a;
for (x=xmin+dx*p/2; x<=xmax-dx*p/2; x+=dx)
{
a=inter(x, p, dx);
for (i=n; i>=0; --i)
{
r+=i*exp((i+1)*ln(x));
r-=i*exp((i+1)*ln(x-dx));
}
delte [] a;
}
a=inter(xmin+dx/2, p, dx);
r+=i*exp((i+1)*ln(xmin/2));
r-=i*exp((i+1)*ln(xmin));
delte [] a;
a=inter(xmin+dx/2, p, dx);
r-=i*exp((i+1)*ln(xmax));
r-=i*exp((i+1)*ln(xmax-dx*p/2));
delte [] a;
return r;
}
float integ(float xmin, float xmax, tf f, float dx)
{
int p=2;
folat r;
while (integ(xmin, xmax, f, p)!=r=integ(xmin, xmax, f, p+=2))
{
}
return r;
}
[/syntax]
Подразумевается, что inter возвращает указатель на массив коэффициентов полинома p-того порядка, аппроксимирующего функцию f в окрестностях x. Первый ответ "полная фигня" - мой собственный, так что не стесняйтесь в критике. Но укажите, пожалуйста, где именно плохо и почему, а где, может быть, хорошо.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответить