comparison +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
comparison
equal deleted inserted replaced
386:4f935415700e 387:45c69aff2f41
88 v = obj.v; 88 v = obj.v;
89 t = obj.t; 89 t = obj.t;
90 end 90 end
91 91
92 function [vt,t] = getVt(obj) 92 function [vt,t] = getVt(obj)
93 vt = (obj.v-obj.v_prev)/obj.k; 93 % Calculate next time step to be able to do centered diff.
94 v_next = zeros(size(obj.v));
95 b = obj.G(obj.t) - obj.BB*obj.v - obj.CC*obj.v_prev;
96
97 y = obj.L\b(obj.p);
98 z = obj.U\y;
99 v_next(obj.q) = z;
100
101
102 vt = (v_next-obj.v_prev)/(2*obj.k);
94 t = obj.t; 103 t = obj.t;
95 end 104 end
96 105
97 function obj = step(obj) 106 function obj = step(obj)
98 b = obj.G(obj.t) - obj.BB*obj.v - obj.CC*obj.v_prev; 107 b = obj.G(obj.t) - obj.BB*obj.v - obj.CC*obj.v_prev;