Is there any MATLAB code to create STATE SPACE model from the eigenvalues and eigenvectors?
21 views (last 30 days)
Show older comments
Is there any MATLAB code to create STATE SPACE model from the eigenvalues and eigenvectors?
1 Comment
Star Strider
on 1 Dec 2021
See if using diag(eigenvalues) as the ‘A’ matrix will produce the desired result (along with the other matrices) using the Control System Toolbox ss function.
I would try that first.
Answers (1)
Pavan Sahith
on 12 Feb 2024
Hello,
I notice your interest in constructing a 'State-space model' from eigenvalues and eigenvectors in MATLAB.
You can try using the 'diag(eigenvalues)' to construct the matrix 'A' and spcify the other state-space matrices 'B', 'C', 'D' (if you have them;if not, they can be identity matrices or zero matrices depending on the system).
Finally, you create the state-space model using the "ss" function.
Here is MATLAB code that helps you in creating a state-space model considering some sample set of eigenvalues and eigenvectors, assuming we are working with linearly independent eigenvectors :
% Given eigenvalues and eigenvectors
eigenvalues = [-1, -2];
eigenvectors = [1, 1; 1, -1];
% Construct A matrix
A = eigenvectors * diag(eigenvalues) / eigenvectors;
% Define B, C, and D matrices
B = [1; 0];
C = [1, 0];
D = 0;
% Create state space model
sys = ss(A, B, C, D);
You can also refer to the following MathWorks Documentation to know more about the
- diag - https://www.mathworks.com/help/matlab/ref/diag.html
- ss - https://www.mathworks.com/help/control/ref/ss.html
Hope this will help.
0 Comments
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!