diff +time/CdiffImplicit.m @ 380:280ae4dbf93b feature/beams

CdiffImplicit: Fixed a bug. Switched to LU.
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 12 Dec 2016 11:35:23 +0100
parents ca73ee0623e5
children 151b08366d63
line wrap: on
line diff
--- a/+time/CdiffImplicit.m	Fri Dec 09 16:03:30 2016 +0100
+++ b/+time/CdiffImplicit.m	Mon Dec 12 11:35:23 2016 +0100
@@ -36,7 +36,7 @@
             end
 
             if isempty(G)
-                G = @(t) sparse(m,m);
+                G = @(t) sparse(m,1);
             end
 
             if isempty(f1)
@@ -96,18 +96,17 @@
 
         function obj = step(obj)
             b = obj.G(obj.t) - obj.BB*obj.v - obj.CC*obj.v_prev;
+            obj.v_prev = obj.v;
 
-            % Backslash
-            obj.v_prev = obj.v;
-            obj.v = obj.AA\b;
+            % % Backslash
+            % obj.v = obj.AA\b;
 
-            % % LU with column pivot
-            % y = obj.L\b(obj.p);
-            % Qx = U\y;
-            % v = Qx(q);
+            % LU with column pivot
+            y = obj.L\b(obj.p);
+            Qx = obj.U\y;
+            obj.v = Qx(obj.q);
 
-
-
+            % Update time
             obj.t = obj.t + obj.k;
             obj.n = obj.n + 1;
         end