-
Notifications
You must be signed in to change notification settings - Fork 2
Description
First, really thanks for sharing this. However I find something that seems need improvements.
So I tried on Swing Equation, which should give me a similar result as using this method (Phase Portrait Plotter on 2D phase plane
[Version 1.0.3]
(https://www.mathworks.com/matlabcentral/fileexchange/110785-phase-portrait-plotter-on-2d-phase-plane#version_history_tab) (370 KB) by [Yu Zhang]

The codes I tried using your method are attached below (note some \times "*" operators are missing):
clf;
eq = [sin(pi/6);cos(pi/6);0];
dev = [1;1;4];
ang_ind = [1,2];
pow_sys = SOStab(eq,dev,ang_ind);
pow_sys.dynamics = [pow_sys.x(3)*pow_sys.x(2);-pow_sys.x(3)pow_sys.x(1);
0.5 - pow_sys.x(1) - 0.2pow_sys.x(3)
];
pow_sys.SoS_out(6,14,0.1);
vopow_sys = value(pow_sys.vcoef_outer);
wopow_sys = value(pow_sys.wcoef_outer);
pow_sys.plot_roa([1,2],3,'outer',0,"\theta","\omega");
The result looks like this, partially correct:

My comments are:
- It seems your method is sensitive to the settings of D, T, and error (varepsilon). I tried difeerent settings but none of them give expected results and some of them seems not correct. Although maybe I'm wrong, could someone help on this?
- You should remove the requirement on the initial acknowledgement of equilibrium point values. Refer to the method above I referred to.
- The good thing of your method is it does NOT limited to the degree of 2 of ODE fcn.
