我用matlab编写的欧拉法求常微分方程的数值解,输出如下结果
当步长为0.1,迭代10次时:
>> Euler_1('f',0,1,1,10)
ans =
1.0e+010 *
0 0.00000000010000
0.00000000001000 0.00000000110000
0.00000000002000 0.00000001210000
0.00000000003000 0.00000013310000
0.00000000004000 0.00000146410000
0.00000000005000 0.00001610510000
0.00000000006000 0.00017715610000
0.00000000007000 0.00194871710000
0.00000000008000 0.02143588810000
0.00000000009000 0.23579476910000
0.00000000010000 2.59374246010000
当步长为0.05,进行20次迭代时就看不出步长了,如下:
> Euler_1('f',0,1,1,20)
ans =
1.0e+015 *
0 0.00000000000000
0.00000000000000 0.00000000000001
0.00000000000000 0.0000000