|
求助:大神们,我想把t和y(1)到y(6)这样7组数据输出到txt文件当中,其中我想达到的目的是,在txt文件当中,7个数据输出到同一行,另外就是t这个数据保留5位小数,而后面y(1)到y(6)这六组数据保留8位小数。。。
但是我写的程序,最后面7个数据分为三行输出,而且保留了好多位小数,并不是我想要的结果。哪位大神能帮忙解决一下呀。。万分感谢。
源程序如下:
[Fortran] 纯文本查看 复制代码 06 | subroutine solve ( func , t 0 , tt , y 0 , N ) |
11 | real * 8 :: k 1 ( N ) , k 2 ( N ) , k 3 ( N ) , k 4 ( N ) |
20 | call func ( k 2 , t + h / 2 , y + h / 2 * k 1 , N ) |
21 | call func ( k 3 , t + h / 2 , y + h / 2 * k 2 , N ) |
22 | call func ( k 4 , t + h , y + h * k 3 , N ) |
23 | y = y + ( k 1 +2 * k 2 +2 * k 3 + k 4 ) * h / 6 |
25 | write ( 11 , * ) t , y ( 1 ) , y ( 2 ) , y ( 3 ) , y ( 4 ) , y ( 5 ) , y ( 6 ) |
26 | 100 FORMAT ( 1 X , T 3 , F 10.5 , F 12.8 ) |
31 | subroutine fun 1 ( f , t , y , N ) |
38 | f ( 1 ) = cos ( t - y ( 6 ) ) - y ( 3 ) * * 2 / sqrt ( 1 + y ( 3 ) * * 2 ) * cos ( t - y ( 6 ) ) / ( 3 * 10 * * 8 ) |
40 | f ( 3 ) = y ( 1 ) / sqrt ( 1 + y ( 1 ) * * 2 ) * cos ( t - y ( 6 ) ) |
41 | f ( 4 ) = y ( 1 ) / sqrt ( 1 + y ( 1 ) * * 2 ) |
42 | f ( 5 ) = y ( 2 ) / sqrt ( 1 + y ( 2 ) * * 2 ) |
43 | f ( 6 ) = y ( 3 ) / sqrt ( 1 + y ( 3 ) * * 2 ) |
56 | open ( unit = 11 , file = 'result10.txt' ) |
62 | call solve ( fun 1 , t 0 , tt , y 0 , N ) |
|
|