龙格---库塔方法是求解微分方程比较常用的方法,在理解数学上是怎么一回事后,编制这个程是相当容易的,就是个迭代的过程.步长的选取也是很有讲究的,过小的步长反而会导致误差累积过大.
相关的理论请参考相关的数值算法的书籍,我这里只给出关键的函数及主程序段,其余相关的细节就不再一一罗列了.
/*标准四阶龙格,库塔公式*/
/*Made by EmilMatthew
05/8/8*/
#include "RangeKuta.h"
#include "MyAssert.h"
#include "Ulti.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
void classicRangeKuta4(Type x0,Type y0,Type xEnd,Type h,
Type (*arguF1)(Type,Type),FILE* outputFile)
{
Type x1,y1;/*The node answer,should be print out*/
Type k1,k2,k3,k4;/*The tween value*/
int iteratorNum=0;