Determining optimal coefficients for Horwitz matrix or characteristic equation
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
How to find kp and kv so that H becomes Horwitz?
H =
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
[ -(2000*kp)/1477, -(1000*kp)/1477, -(2000*kv)/1477, -(1000*kv)/1477]
[ (1000*kp)/1477, -(1000*kp)/1477, (1000*kv)/1477, -(1000*kv)/1477]
Also, the coefficients of the characteristic equation are as follows in order from large to small
[ 1, (3000*kv)/1477, (3000000*kv^2)/2181529 + (3000*kp)/1477, (6000000*kp*kv)/2181529, (3000000*kp^2)/2181529]
3 Commenti
Sam Chak
il 11 Apr 2023
Conventionally, the range of
and
may be determined from the Routh–Hurwitz Stability Criterion, which is a pretty tedious task to compute elements in the Table for high-order systems (
), and then solving the equations simultaneously.



So far, there is no such function in the Control System Toolbox.
There are some 3rd-party programs written by expert MATLAB users, posted on File Exchange. You should search for the ones that construct the table symbolically.
If you are looking for the determination of the optimal coefficients for
and
, then it becomes an optimization problem, in which you most likely need a optimization algorithm to solve the problem.


Risposte (2)
Sam Chak
il 10 Apr 2023
Modificato: Sam Chak
il 10 Apr 2023
Edit: It appears that
and
can make the matrix Hurwitz. However, the optimal coefficients are subjective, because they depend on the definition of the cost performance function.


If the quadratic cost function is used, perhaps these values
and
are optimal coefficients.


CASE 1:
and 


% CASE 1
kp = 0.25;
kv = kp;
A = [0, 0, 1, 0;
0, 0, 0, 1;
-(2000*kp)/1477, -(1000*kp)/1477, -(2000*kv)/1477, -(1000*kv)/1477;
(1000*kp)/1477, -(1000*kp)/1477, (1000*kv)/1477, -(1000*kv)/1477]
eig(A)
G = tf((3000000*kp^2)/2181529, [1, (3000*kv)/1477, (3000000*kv^2)/2181529 + (3000*kp)/1477, (6000000*kp*kv)/2181529, (3000000*kp^2)/2181529])
step(G)
stepinfo(G)
CASE 2:
and 


% CASE 2
kp = 0.6557;
kv = 1.3419;
G = tf((3000000*kp^2)/2181529, [1, (3000*kv)/1477, (3000000*kv^2)/2181529 + (3000*kp)/1477, (6000000*kp*kv)/2181529, (3000000*kp^2)/2181529])
step(G)
pole(G)
stepinfo(G)
3 Commenti
Sam Chak
il 13 Apr 2023
Hi @mohammadreza, Your latest update is a new problem, and the proposed method may not be applicable to the time-varying problem. Besides You should not reply in the "Answer" section.

If
is a time-varying function (as shown in your supplied image), and without analyzing the function, then there is no guarantee that the system will be stable even though
is designed to be Hurwitz as
.



Vedere anche
Categorie
Scopri di più su Mathematics and Optimization in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!