Mercurial > repos > public > sbplib
diff +time/CdiffImplicit.m @ 387:45c69aff2f41 feature/beams
Swtich to using centerd difference for calculating the first derivative
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 05 Jan 2017 18:36:01 +0100 |
parents | b361a04894e3 |
children | 67ca8964f03c |
line wrap: on
line diff
--- a/+time/CdiffImplicit.m Thu Jan 05 13:28:43 2017 +0100 +++ b/+time/CdiffImplicit.m Thu Jan 05 18:36:01 2017 +0100 @@ -90,7 +90,16 @@ end function [vt,t] = getVt(obj) - vt = (obj.v-obj.v_prev)/obj.k; + % Calculate next time step to be able to do centered diff. + v_next = zeros(size(obj.v)); + b = obj.G(obj.t) - obj.BB*obj.v - obj.CC*obj.v_prev; + + y = obj.L\b(obj.p); + z = obj.U\y; + v_next(obj.q) = z; + + + vt = (v_next-obj.v_prev)/(2*obj.k); t = obj.t; end