#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define H 0.1
int main()
{
float x,y,r=3;
float k1,k2,k3,k4,t[100]={0};
float fun1(float,float);
int i,j,n;
printf("请输入x,y的初值:\n");
scanf("%f%f",&x,&y);
printf("请输入运算次数:\n");
scanf("%d",&n);
printf("运算结果为:\n");
for(i=4;i<n;i++)
{
if(i<5)
{
for(j=0;j<4;j++)
{
printf("x%-2d=%.2f,\ty%-2d=%f,\ty(%-2d)=%f",j,x,j,y,j,r);
printf("\n");
k1=fun1(x,y);
k2=fun1(x+H/2,y+H*k1/2);
k3=fun1(x+H/2,y+H*k2/2);
k4=fun1(x+H,y+H*k3);
t[j]=y;
x=x+H;
y=y+H*(k1+2*k2+2*k3+k4)/6;
r=3/(1+x*x*x);
}
x=x-H;
}
t[i]=t[i-1]+H*(55*fun1(x,t[i-1])-59*fun1(x-H,t[i-2])+37*fun1(x-2*H,t[i-3])-9*fun1(x-3*H,t[i-4]))/24;
x=x+H;
r=3/(1+x*x*x);
printf("x%-2d=%.2f,\ty%-2d=%f,\ty(%-2d)=%f,\tr(%-2d)=%f",i,x,i,t[i],i,r,i,r-t[i]);
printf("\n");
}
system("pause");
return 0;
}
float fun1(float x,float y)
{
float f;
f=-x*x*y*y;
return f;
}
AB4解法
最新推荐文章于 2022-10-17 11:55:42 发布