1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| #include <iostream>
#include <math.h>
using namespace std;
float f1(float x, float y, float z)
{
return z;
}
float f2(float x, float y, float z)
{
return 2*z+3*y+exp(4*x);
}
int main()
{ int i;
float x, y, z, d, k, k1y,k2y,k3y,k4y, k1z, k2z, k3z, k4z, dy, dz;
float x0=0;
float y0=1;
float z0=0;
float h=0.1; i=0;
for(x=x0, y=y0, z=z0; i<=10; x=x+h, y=y+dy, z=z+dz, i++)
{
k1y=h*f1(x,y,z);
k1z=h*f2(x,y,z);
k2y=h*f1(x+h/2,y+k1y/2,z+k1z/2);
k2z=h*f2(x+h/2,y+k1y/2,z+k1z/2);
k3y=h*f1(x+h/2,y+k2y/2,z+k2z/2);
k3z=h*f2(x+h/2,y+k2y/2,z+k2z/2);
k4y=h*f1(x+h,y+k3y,z+k3z);
k4z=h*f2(x+h,y+k3y,z+k3z);
dy=(k1y+2*k2y+2*k3y+k4y)/6;
dz=(k1z+2*k2z+2*k3z+k4z)/6;
d=(0.8)*exp(-x)+(0.2)*exp(4*x);
k=100*(d-y)/y;
cout<<"y= "<<y<<"d= "<<d<<"K= "<<k<<"\n";
}
return 0;
} |