Mercurial > repos > public > sbplib
changeset 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 | 4f935415700e |
children | 288138d9586d |
files | +time/CdiffImplicit.m |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
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