KerMor  0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LinearInputConv.m
Go to the documentation of this file.
1 namespace dscomponents{
2 
3 
4 /* (Autoinserted by mtoc++)
5  * This source code has been filtered by the mtoc++ executable,
6  * which generates code that can be processed by the doxygen documentation tool.
7  *
8  * On the other hand, it can neither be interpreted by MATLAB, nor can it be compiled with a C++ compiler.
9  * Except for the comments, the function bodies of your M-file functions are untouched.
10  * Consequently, the FILTER_SOURCE_FILES doxygen switch (default in our Doxyfile.template) will produce
11  * attached source files that are highly readable by humans.
12  *
13  * Additionally, links in the doxygen generated documentation to the source code of functions and class members refer to
14  * the correct locations in the source code browser.
15  * However, the line numbers most likely do not correspond to the line numbers in the original MATLAB source files.
16  */
17 
19  :public dscomponents.AInputConv {
26  public:
27 
28  B;
39  public:
40 
42  this.B= B;
43  this.TimeDependent= false;
44  }
45 
46 
47  function res = evaluate(unused1,unused2) {
48  res = this.B;
49  }
50 
51 
52  function proj = project(V,W) {
53  proj = dscomponents.LinearInputConv(W^t * this.B);
54  /* Dont store V,W due to hard drive space saving (not really needed here)
55  *proj = project@general.AProjectable(this, V, W, proj); */
56  }
57 
58 
59  function copy = clone() {
60  copy = dscomponents.LinearInputConv(this.B);
61  }
62 
63 
64  function prod = mtimes(other) {
65  if isa(this," dscomponents.LinearInputConv ")
66  if isa(other," dscomponents.LinearInputConv ")
67  prod = dscomponents.LinearInputConv(this.B * other.B);
68  else
69  prod = dscomponents.LinearInputConv(this.B * other);
70  end
71  elseif isa(other," dscomponents.LinearInputConv ")
72  prod = dscomponents.LinearInputConv(this * other.B);
73  end
74  }
75 
76 
77  function diff = minus(other) {
78  if isa(this," dscomponents.LinearInputConv ")
79  if isa(other," dscomponents.LinearInputConv ")
80  diff = dscomponents.LinearInputConv(this.B - other.B);
81  else
82  diff = dscomponents.LinearInputConv(this.B - other);
83  end
84  elseif isa(other," dscomponents.LinearInputConv ")
85  diff = dscomponents.LinearInputConv(this - other.B);
86  end
87  }
88 
89 
90  function diff = plus(other) {
91  if isa(this," dscomponents.LinearInputConv ")
92  if isa(other," dscomponents.LinearInputConv ")
93  diff = dscomponents.LinearInputConv(this.B + other.B);
94  else
95  diff = dscomponents.LinearInputConv(this.B + other);
96  end
97  elseif isa(other," dscomponents.LinearInputConv ")
98  diff = dscomponents.LinearInputConv(this + other.B);
99  end
100  }
101 
102 
103  function transp = ctranspose() {
104  transp = dscomponents.LinearInputConv(this.B^t);
105  }
106 
107 
108 
109 };
110 }
111 
112 
113 
Simple linear (=matrix) input conversion.
function res = evaluate(unused1, unused2)
AInputConv: Base class for input conversion "B". For simpler input conversions, it will be convenient...
Definition: AInputConv.m:18
function transp = ctranspose()
V
The matrix of the biorthogonal pair .
Definition: AProjectable.m:61
function prod = mtimes(other)
function diff = plus(other)
logical TimeDependent
Flag that indicates if the AInputConv is (truly) time-dependent.
Definition: AInputConv.m:39
function diff = minus(other)
W
The matrix of the biorthogonal pair .
Definition: AProjectable.m:72
function proj = project(V, W)