Mercurial > octave
diff scripts/ode/private/ode_event_handler.m @ 22655:6b134d294d61 stable
ode solvers: use ordinary transpose instead of Hermitian conjugate (bug #49410).
* ode23.m, ode45.m, ode_event_handler.m, runge_kutta_interpolate.m:
Use ordinary transpose instead of Hermitian conjugate.
author | Carlo de Falco <carlo.defalco@polimi.it> |
---|---|
date | Sat, 22 Oct 2016 22:11:42 +0200 |
parents | 9bc03a3f7a34 |
children | 3a2b891d0b33 e9a0469dedd9 |
line wrap: on
line diff
--- a/scripts/ode/private/ode_event_handler.m Fri Oct 21 14:36:38 2016 -0700 +++ b/scripts/ode/private/ode_event_handler.m Sat Oct 22 22:11:42 2016 +0200 @@ -88,7 +88,7 @@ [evt, term, dir] = feval (inpargs{:}); ## We require that all return values be row vectors - evt = evt(:)'; term = term(:)'; dir = dir(:)'; + evt = evt(:).'; term = term(:).'; dir = dir(:).'; ## Check if one or more signs of the event has changed signum = (sign (evtold) != sign (evt)); @@ -115,7 +115,7 @@ ## calculate new values for the integration results, we do both by ## a linear interpolation tnew = t - evt(1,idx) * (t - told) / (evt(1,idx) - evtold(1,idx)); - ynew = (y - (t - tnew) * (y - yold) / (t - told))'; + ynew = (y - (t - tnew) * (y - yold) / (t - told)).'; retcell{3}(evtcnt,1) = tnew; retcell{4}(evtcnt,:) = ynew; evtcnt += 1; @@ -142,7 +142,7 @@ [evtold, ~, ~] = feval (inpargs{:}); ## We require that all return values be row vectors - evtold = evtold(:)'; told = t; yold = y; + evtold = evtold(:).'; told = t; yold = y; evtcnt = 1; retval = retcell = cell (1,4);