runge.cpp

来自「两种曲线拟合的算法」· C++ 代码 · 共 37 行

CPP
37
字号
#include<stdio.h>
#include<iostream.h>
#define f(x,y) (-2*x*y*y)


	
void main()
{float x,y,h,k[5],Y[10],y0,n;
 int i;

 cout<<"请输入区间:";
 cin>>x>>y;
 
 cout<<"请输入步厂:";
 cin>>h;
 cout<<"请输入初值:";
 cin>>y0;
 Y[0]=y0;
 cout<<endl;
 n=(y-x)/h;
 
 cout<<"***************************龙格-库塔***************************"<<endl;
 
	 for(i=0;i<=n+1;i++)
	 {   
		 k[1]=h*f(x,y);
	     k[2]=h*f(x+h/2,y+k[1]/2);
	     k[3]=h*f(x+h/2,y+k[2]/2);
	     k[4]=h*f(x+h,y+k[3]);
	     Y[i+1]=Y[i]+(k[1]+k[2]+k[3]+k[4])/6;
	     cout<<"y"<<i<<"="<<Y[i+1]<<endl;
	     x=x+h;
	    
	 }
}
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?