Главная страница
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.02 c
7-88284
Saracin
2003-02-01 14:29
2003.03.27
Отдать, время на обработку сообщений.


14-88221
Vyacheslav
2003-03-11 21:26
2003.03.27
HOOK


6-88102
Kventin
2003-02-04 20:49
2003.03.27
FTP-download : контроль через прогрессбар.


6-88101
alexteam
2003-02-01 01:05
2003.03.27
говорят если грохнуть 80 порт то инет должен упасть независимо от


7-88282
zyurik
2003-02-02 00:55
2003.03.27
Реестр