You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
symmetric problems post processing routines finished
tri2full() and buildRES() functions were added as a complement in vectfit3.py module. These functions are useful when processing fitting results of symmetric matrix functions.
Copy file name to clipboardExpand all lines: README.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ The vector fitting function has many options that can be modified via _opts_ dic
41
41
Default options of vector fitting are already defined into vectfit3.py module. There, _opts_ dictionary contains the following configuration:
42
42
43
43
opts={
44
-
"lowert_mat" : False, # F(s) samples belong to a full matrix
44
+
"symm_mat" : False, # F(s) samples belong to a full matrix
45
45
"relax" : True, # Use vector fitting with relaxed non triviality
46
46
"stable" : True, # Enforce stable poles
47
47
"asymp" : 2, # Include only D in fitting (not E).
@@ -135,21 +135,24 @@ In the following figures vector fitting results for some test cases are shown:
135
135
* Differences between _vectfit3.py_ and the original MATLAB implementation are listed below:
136
136
137
137
- All options for _vectfit3_ configuration are defined as boolean variables, except asymp which has 3 possible states.
138
-
- The new option "lowert_mat" for _vectfit3_ configuration is added. This indicates when $F(s)$ samples belong to a lower triangular matrix function, that reduces the number of elements to fit for a symmetric matrix function.
138
+
- The new option "symm_mat" for _vectfit3_ configuration is added. This indicates when $F(s)$ samples belong to a symmetric matrix function in CMO. This is a common practice because it reduces the number of elements to fit. See test 4
139
139
- A new method to sort the poles computed during the identification process is implemented.
140
140
- Real and complex data is meticulously treated and differentiated through the entire process.
141
141
- General code organization.
142
142
- A new method to compute error plots is implemented. The new error is $log_{10}(error_{relative})$
143
143
- Error graphs are now plotted outside the magnitude axis as a subplot in the same figure.
144
+
- Now "cmplx_ss" and "symm_mat" flags are also members of SER "dictionary". This is helpful when using the space-state model in external post-processing routines.
145
+
- ss2pr() subroutine is renamed as buildRES() and is modified to return just the residues matrixes, because poles are already given by vectfit() main function.
146
+
- tri2full subroutine, which is used to transform compressed results of a symmetric problem, is now internally called from buildRES() prior to compute residue matrixes. However can be imported from the module if it is needed.
144
147
145
148
### In development
146
149
Nowadays, some final details in _vectfit3.py_ are still in progress:
147
-
* The function _"buildPOLRES()"_, to build the poles and residues model from the state-space model generated by vector fitting needs to be finished.
148
-
* Cases for symmetric problems that are represented with lower triangular matrixes need to be reconstructed to obtain a full state-space o pole-residue model.
150
+
*_"buildRES()"_ function that computes residues matrixes from SER, only considers symmetric data reduction. Therefore a subroutine to map the results from element-wise representation "vectfit default" to a full matrix representation, when original data belong to a non-symmetric matrix function must be created. This function should take into account the mapping method used, for instance Column Major Order (CMO) and Row Major Order (RMO).
149
151
150
152
To contribute, give suggestions or report any bug please contact me:
0 commit comments