Главная страница
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.017 c
1-88007
Bit Swinger
2003-03-14 01:08
2003.03.27
Как можно эмулировать командный процессор ОС Unix в виндах..


6-88098
PrettyFly
2003-02-02 22:06
2003.03.27
DNSName -> IP


14-88171
race1
2003-03-09 16:28
2003.03.27
эх


14-88156
Supreme 2
2003-03-12 15:00
2003.03.27
Соц. опрос:


6-88109
Morfein
2003-02-04 23:42
2003.03.27
SMTP