函数在该点的复导数
Complex derivative of the function at the point
我正在编写一种方法来求函数在某一点的导数。
static void Main(string[] args)
{
double x = 1;
double dx = 0.000001;
double rate;
rate = (((f(x + dx) - f(x)) / dx));
}
static double f(double x)
{
return Math.Cos(x);
//return 20*x - 5*Math.Pow(x, 2)+8*Math.Pow(x, 5/4);
}
简单函数(如 sin(x))的导数计算正确,但复杂函数(如 (20*x - 5*Math.Pow(x, 2)+8 *Math.Pow(x, 5/4))) - 不正确。
看来问题是由你的整数除法引起的
5 / 4 == 1
5.0 / 4.0 == 1.25
尝试将术语 5/4 修改为 5/4f。
我正在编写一种方法来求函数在某一点的导数。
static void Main(string[] args)
{
double x = 1;
double dx = 0.000001;
double rate;
rate = (((f(x + dx) - f(x)) / dx));
}
static double f(double x)
{
return Math.Cos(x);
//return 20*x - 5*Math.Pow(x, 2)+8*Math.Pow(x, 5/4);
}
简单函数(如 sin(x))的导数计算正确,但复杂函数(如 (20*x - 5*Math.Pow(x, 2)+8 *Math.Pow(x, 5/4))) - 不正确。
看来问题是由你的整数除法引起的
5 / 4 == 1
5.0 / 4.0 == 1.25
尝试将术语 5/4 修改为 5/4f。