comparison scripts/general/quadv.m @ 10549:95c3e38098bf

Untabify .m scripts
author Rik <code@nomad.inbox5.com>
date Fri, 23 Apr 2010 11:28:50 -0700
parents f1567b3e1108
children be55736a0783
comparison
equal deleted inserted replaced
10548:479536c5bb10 10549:95c3e38098bf
82 82
83 h = (b - a) / 2; 83 h = (b - a) / 2;
84 q = (b - a) / 6 * (fa + 4 * fc + fb); 84 q = (b - a) / 6 * (fa + 4 * fc + fb);
85 85
86 [q, fcnt, hmin] = simpsonstp (f, a, b, c, fa, fb, fc, q, fcnt, abs (b - a), 86 [q, fcnt, hmin] = simpsonstp (f, a, b, c, fa, fb, fc, q, fcnt, abs (b - a),
87 tol, trace, varargin{:}); 87 tol, trace, varargin{:});
88 88
89 if (fcnt > 10000) 89 if (fcnt > 10000)
90 warning ("maximum iteration count reached"); 90 warning ("maximum iteration count reached");
91 elseif (isnan (q) || isinf (q)) 91 elseif (isnan (q) || isinf (q))
92 warning ("infinite or NaN function evaluations were returned"); 92 warning ("infinite or NaN function evaluations were returned");
94 warning ("minimum step size reached -- possibly singular integral"); 94 warning ("minimum step size reached -- possibly singular integral");
95 endif 95 endif
96 endfunction 96 endfunction
97 97
98 function [q, fcnt, hmin] = simpsonstp (f, a, b, c, fa, fb, fc, q0, 98 function [q, fcnt, hmin] = simpsonstp (f, a, b, c, fa, fb, fc, q0,
99 fcnt, hmin, tol, trace, varargin) 99 fcnt, hmin, tol, trace, varargin)
100 if (fcnt > 10000) 100 if (fcnt > 10000)
101 q = q0; 101 q = q0;
102 else 102 else
103 d = (a + c) / 2; 103 d = (a + c) / 2;
104 e = (c + b) / 2; 104 e = (c + b) / 2;
118 endif 118 endif
119 119
120 ## Force at least one adpative step. 120 ## Force at least one adpative step.
121 if (fcnt == 5 || abs (q - q0) > tol) 121 if (fcnt == 5 || abs (q - q0) > tol)
122 [q1, fcnt, hmin] = simpsonstp (f, a, c, d, fa, fc, fd, q1, fcnt, hmin, 122 [q1, fcnt, hmin] = simpsonstp (f, a, c, d, fa, fc, fd, q1, fcnt, hmin,
123 tol, trace, varargin{:}); 123 tol, trace, varargin{:});
124 [q2, fcnt, hmin] = simpsonstp (f, c, b, e, fc, fb, fe, q2, fcnt, hmin, 124 [q2, fcnt, hmin] = simpsonstp (f, c, b, e, fc, fb, fe, q2, fcnt, hmin,
125 tol, trace, varargin{:}); 125 tol, trace, varargin{:});
126 q = q1 + q2; 126 q = q1 + q2;
127 endif 127 endif
128 endif 128 endif
129 endfunction 129 endfunction
130 130