Mercurial > octave-nkf
comparison scripts/ode/private/runge_kutta_45_dorpri.m @ 20584:eb9e2d187ed2
maint: Use Octave coding conventions in scripts/ode/private dir.
* AbsRel_Norm.m, fuzzy_compare.m, hermite_quartic_interpolation.m,
integrate_adaptive.m, integrate_const.m, integrate_n_steps.m, kahan.m,
ode_struct_value_check.m, odepkg_event_handle.m, odepkg_structure_check.m,
runge_kutta_45_dorpri.m, starting_stepsize.m:
Wrap long lines to < 80 chars.
Use double quotes rather than single quotes where possible.
Use ';' at end of keywords "return;" and "break;"
Use '##" for stand-alone comments and '#' for end-of-line comments.
Use two spaces after period before starting new sentence.
Use '!' instead of '~' for logical negation.
Use specific form of end (endif, endfor, etc.).
Don't use line continuation marker '...' unless necessary.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 04 Oct 2015 22:18:54 -0700 |
parents | 25623ef2ff4f |
children | b7ac1e94266e |
comparison
equal
deleted
inserted
replaced
20583:d746695bf494 | 20584:eb9e2d187ed2 |
---|---|
95 k(:,3) = feval (f, s(3), x + k(:,1:2) * aa(3, 1:2).', args{:}); | 95 k(:,3) = feval (f, s(3), x + k(:,1:2) * aa(3, 1:2).', args{:}); |
96 k(:,4) = feval (f, s(4), x + k(:,1:3) * aa(4, 1:3).', args{:}); | 96 k(:,4) = feval (f, s(4), x + k(:,1:3) * aa(4, 1:3).', args{:}); |
97 k(:,5) = feval (f, s(5), x + k(:,1:4) * aa(5, 1:4).', args{:}); | 97 k(:,5) = feval (f, s(5), x + k(:,1:4) * aa(5, 1:4).', args{:}); |
98 k(:,6) = feval (f, s(6), x + k(:,1:5) * aa(6, 1:5).', args{:}); | 98 k(:,6) = feval (f, s(6), x + k(:,1:5) * aa(6, 1:5).', args{:}); |
99 | 99 |
100 ## compute new time and new values for the unkwnowns | 100 ## compute new time and new values for the unknowns |
101 t_out = t + dt; | 101 t_out = t + dt; |
102 x_out = x + k(:,1:6) * cc(:); # 5th order approximation | 102 x_out = x + k(:,1:6) * cc(:); # 5th order approximation |
103 | 103 |
104 ## if the estimation of the error is required | 104 ## if the estimation of the error is required |
105 if (nargout >= 3) | 105 if (nargout >= 3) |
106 ## new solution to be compared with the previous one | 106 ## new solution to be compared with the previous one |
107 k(:,7) = feval (f, t + dt, x_out, args{:}); | 107 k(:,7) = feval (f, t + dt, x_out, args{:}); |
108 cc_prime = dt * c_prime; | 108 cc_prime = dt * c_prime; |
109 x_est = x + k * cc_prime(:); # x_est | 109 x_est = x + k * cc_prime(:); |
110 endif | 110 endif |
111 | 111 |
112 endfunction | 112 endfunction |
113 | 113 |