-1

到目前为止,感谢很多人的帮助,但我犯了一个大错误,我需要在特定点推导一个函数!

我必须计算一个函数的一阶导数,我真的不知道如何到达那里。如果我只需要为一个只有 X^1 的函数计算它,我会知道怎么做,但我真的被困在这里了。

老东西:一个函数可能看起来像2*x^2+1.

该方法必须如下所示:double ab(double (f)(double),double x) 我的教授给了我们提示,我们可能应该使用该函数: (f(x0+∆x)−f(x0))/((x0+∆x)−x0)

抱歉我的英语不好,并提前感谢任何提示或提示。

4

2 回答 2

1

这个想法是近似于f()at的一阶导数与通过点和x的割线的斜率 。(x, f(x))(x+∆x, f(x+∆x))

维基百科文章应该让你开始。

于 2014-07-31T07:21:23.533 回答
1

此示例将帮助您入门:

#include<stdio.h>
#include <stdlib.h>


float func(float x)
{
    return(2*x*x + 1);
}

int main(){
    float h=0.01;
    float x;
    float deriv, second;

    printf("Enter x value: ");
    scanf("%f", &x);
    // derivative at x is the slope of infinitely small
    // line of the function 

    deriv = (func(x+h) - func(x))/h; // I assumed the length to be h

    //for second derivative you can use:
    second = (func(x+h) - 2*func(x) + func(x-h))/(h*h);

    printf("%f\n", deriv);
    return 0;
}
于 2014-07-31T08:43:32.550 回答