functioneigenVectors
Calculate the rigth eigenvectors of the corresponding state space system of a zeros-and-poles transfer function and write them columnwise in a matrix
Information
Syntax
(eigenvectors, eigenvalues) = ZerosAndPoles.Analysis.eigenVectors(zp, onlyEigenvectors)
Description
Calculate the eigenvectors and optionally (onlyEigenvectors=false) the eigenvalues of the corresponding state space system of a zeros-and-poles-transfer function. The output eigenvectors is a matrix with the same dimension as matrix ss.A. Just like in Modelica.Math.Matrices.eigenValues, if the i-th eigenvalue has an imaginary part, then eigenvectors[:,i] is the real and eigenvectors[:,i+1] is the imaginary part of the eigenvector of the i-th eigenvalue.
The eigenvalues are returned as a complex vector eigenvalues.
Example
ZerosAndPoles p = Modelica_LinearSystems2.ZerosAndPoles.p();
Modelica_LinearSystems2.ZerosAndPoles zp=(2*p+2)/(p^2+2*p+2);
Real eigenvectors[2,2];
Complex eigenvalues[2];
algorithm
(eigenvectors, eigenvalues) = Modelica_LinearSystems2.ZerosAndPoles.Analysis.eigenVectors(zp, true);
// eigenvectors = [(-0.4082), (-0.4082);
0.8165, 0]
// eigenvalues = {-1 + 1j, -1 - 1j}
|-0.4082 -i0.4082 | | -0.4082 + i0.4082 |
i.e. v1 = | |, v2 = | |
| 0.8165 | | 0.8165 |
Inputs
| Type | Name | Default | Description |
|---|---|---|---|
| ZerosAndPoles | zp | ZerosAndPoles transfer function of a system | |
| Boolean | onlyEigenvectors | true |
Outputs
| Type | Name | Default | Description |
|---|---|---|---|
| Real[:,:] | eigvec | eigen values of the system | |
| Complex[:] | eigval | eigen values of the system |