-
Notifications
You must be signed in to change notification settings - Fork 57
/
rkf45.html
200 lines (172 loc) · 5.08 KB
/
rkf45.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<html>
<head>
<title>
RKF45 - Runge-Kutta-Fehlberg ODE Solver
</title>
</head>
<body bgcolor="#EEEEEE" link="#CC0000" alink="#FF3300" vlink="#000055">
<h1 align = "center">
RKF45 <br> Runge-Kutta-Fehlberg ODE Solver
</h1>
<hr>
<p>
<b>RKF45</b>
is a MATLAB library which
implements the Watt and Shampine RKF45 ODE solver.
</p>
<p>
The RKF45 ODE solver is a Runge-Kutta-Fehlberg algorithm for
solving an ordinary differential equation, with automatic error
estimation using rules of order 4 and 5.
</p>
<h3 align = "center">
Licensing:
</h3>
<p>
The computer code and data files described and made available on this web page
are distributed under
<a href = "../../txt/gnu_lgpl.txt">the GNU LGPL license.</a>
</p>
<h3 align = "center">
Languages:
</h3>
<p>
<b>RKF45</b> is available in
<a href = "../../c_src/rkf45/rkf45.html">a C version</a> and
<a href = "../../cpp_src/rkf45/rkf45.html">a C++ version</a> and
<a href = "../../f77_src/rkf45/rkf45.html">a FORTRAN77 version</a> and
<a href = "../../f_src/rkf45/rkf45.html">a FORTRAN90 version</a> and
<a href = "../../m_src/rkf45/rkf45.html">a MATLAB version</a> and
<a href = "../../py_src/rkf45/rkf45.html">a PYTHON version</a>.
</p>
<h3 align = "center">
Related Data and Programs:
</h3>
<p>
<a href = "../../m_src/dfield8/dfield8.html">
DFIELD8</a>,
a MATLAB program which
interactively displays the direction field of a differential equation,
by John Polking.
</p>
<p>
<a href = "../../m_src/flame_ode/flame_ode.html">
FLAME_ODE</a>,
a MATLAB library which
considers an ordinary differential equation (ODE) which models
the growth of a ball of flame in a combustion process.
</p>
<p>
<a href = "../../m_src/ode_predator_prey/ode_predator_prey.html">
ODE_PREDATOR_PREY</a>,
a MATLAB program which
solves a time-dependent predator-prey system using MATLAB's ODE23 solver.
</p>
<p>
<a href = "../../m_src/pplane8/pplane8.html">
PPLANE8</a>,
a MATLAB program which
interactively displays the phase plane of a differential equation,
by John Polking.
</p>
<p>
<a href = "../../m_src/test_ode/test_ode.html">
TEST_ODE</a>,
a MATLAB library which
defines some sample ODE's for testing initial value
problem solvers;
</p>
<h3 align = "center">
Reference:
</h3>
<p>
<ol>
<li>
Erwin Fehlberg,<br>
Low-order Classical Runge-Kutta Formulas with Stepsize Control,<br>
NASA Technical Report R-315, 1969.
</li>
<li>
Lawrence Shampine, Herman Watts, S Davenport,<br>
Solving Non-stiff Ordinary Differential Equations -
The State of the Art,<br>
SIAM Review,<br>
Volume 18, pages 376-411, 1976.
</li>
<li>
The source code for Shampine and Watt's original FORTRAN77
routine is available at
<a href = "http://www.netlib.org/ode/">
http://www.netlib.org/ode/</a>
the NETLIB ODE web site.
</li>
</ol>
</p>
<h3 align = "center">
Source Code:
</h3>
<p>
<ul>
<li>
<a href = "r8_fehl.m">r8_fehl.m</a>
takes one Fehlberg fourth-fifth order step (double precision).
</li>
<li>
<a href = "r8_rkf45.m">r8_rkf45.m</a>
carries out the Runge-Kutta-Fehlberg method (double precision).
</li>
<li>
<a href = "timestamp.m">timestamp.m</a>
prints the current YMDHMS date as a time stamp.
</li>
</ul>
</p>
<h3 align = "center">
Examples and Tests:
</h3>
<p>
<ul>
<li>
<a href = "rkf45_test.m">rkf45_test.m</a>, calls all the tests;
</li>
<li>
<a href = "rkf45_test_output.txt">rkf45_test_output.txt</a>,
the output file;
</li>
<li>
<a href = "rkf45_test04.m">rkf45_test04.m</a>,
solves a scalar ODE.
</li>
<li>
<a href = "rkf45_test05.m">rkf45_test05.m</a>,
solves a vector ODE.
</li>
<li>
<a href = "rkf45_test06.m">rkf45_test06.m</a>,
solves a scalar ODE, using one-step integration.
</li>
<li>
<a href = "r8_f1.m">r8_f1.m</a>,
evaluates the derivative for the ODE.
</li>
<li>
<a href = "r8_f2.m">r8_f2.m</a>,
evaluates the derivative for the ODE.
</li>
<li>
<a href = "r8_y1x.m">r8_y1x.m</a>,
evaluates the exact solution of the ODE.
</li>
</ul>
</p>
<p>
You can go up one level to <a href = "../m_src.html">
the MATLAB source codes</a>.
</p>
<hr>
<i>
Last revised on 30 June 2011.
</i>
<!-- John Burkardt -->
</body>
</html>