C语言,给出函数的一次导数是dy/dx = f(x) = exp(2x*x)+4*x. 现在要...
发布网友
发布时间:2024-09-07 07:58
我来回答
共4个回答
热心网友
时间:2024-10-25 20:43
yn是在每步中计算出来的,即,y0 = 1;
则可以计算y1,有了 y1就可以计算y2,直至yn
#include <stdio.h>
#include <math.h>
double fun(double x)
{
return exp(2. * x * x) + 4. * x;
}
int main()
{
int i, n;
double h;
double x = 0, y = 0;
printf("Enter time step\n");
scanf("%lf", &h);
printf("Enter the initial value of x and y\n");
scanf("%ld %ld", &x, &y);
printf("Enter the total step\n");
scanf("%d", &n);
for(i = 1; i <= n; ++i)
{
k1 = fun(x);
k2 = fun(x + h * 0.5);
/*
k3 = fun(x + h * 0.5);
k4 = fun(x + h * 0.5);
*/
k4 = k3 = k2;
y += h * (k1 + 2. * k2 + 2 * k3 + k4) / 6.;
x += h;
}
printf("The integral value is %lf\n", y);
return 0;
}
热心网友
时间:2024-10-25 20:47
递归
热心网友
时间:2024-10-25 20:41
龙格库塔方法只需要知道当前一点和之前一点的值,用迭代就可以处理
热心网友
时间:2024-10-25 20:41
f