Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.27;
Скачать: CL | DM;

Вниз

Как найти производную от функции   Найти похожие ветки 

 
Filmax ©   (2003-03-17 06:16) [0]

Ув. мастера, как найти производную от функции, или просто помогите перевести исходник с С на Delphi:

double proiz(double x, double dx, double (*f)(double x) );
double fun(double z);
int main()
{
double x; /* точка вычисления производной */
double dx; /* приращение */
double z; /* значение производной */
scanf("%f,%f",&x,&dx); /* ввод значений x и dx */
z=proiz(x,dx,fun); /* вызов функции */
printf("%f",z); /* печать значения производной */
return 0;
}
double proiz(double x,double dx, double (*f)(double z) )
{ /* функция вычисляющая производную */
double xk,xk1,pr;
xk=fun(x);
xk1=fun(x+dx);
pr=(xk1/xk-1e0)*xk/dx;
return pr;
}
double fun( double z)
{ /* функция от которой вычисляется производная */
return (cos(z));
}

Спасибо!


 
MBo ©   (2003-03-17 06:19) [1]

по определению производная есть предел отношения (т.е. просто малое dx берешь)

F"=(F(x+dx)-F(x))/dx
На Паскале уж сам запиши


 
ZmeiGorin ©   (2003-03-17 09:44) [2]


type TFunctionOfOneArg=function(x:double):double;

function Deriv(x,dx:double;f:TFunctionOfOneArg):double; forward;
function Func(x:double):double; forward;
.....
function Deriv(x,dx:double;f:TFunctionOfOneArg):double;
var
xk,xk1:double;
begin
xk:=f(x);
xk1:=f(x+dx);
result:=(xk1/xk-1)*xk/dx;
end;

function Func(x:double):double;
begin
result:=cos(x);
end;


А можно поломать голову и заставить его считать аналитически :-)


 
Radionov Alexey ©   (2003-03-17 10:28) [3]

>F"=(F(x+dx)-F(x))/dx
При тех же затратах, но с лучшим порядком малости O(dx^2)

F"(x)=(F(x+dx)-F(x-dx))/(2*dx)



Страницы: 1 вся ветка

Текущий архив: 2003.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-88005
DenisLK
2003-03-14 09:10
2003.03.27
Компонент или модуль для вычесления дат


4-88304
}{enon
2003-01-30 19:46
2003.03.27
Невозможность доступа


8-88091
L$D™
2002-12-18 17:37
2003.03.27
Звук из exe


3-87884
luc
2003-03-11 15:59
2003.03.27
Хитрый Select


14-88202
alxx
2003-03-10 22:02
2003.03.27
Рисунки.