function [sys OPTp Et Po Pc] = oolp(sys,modal)
%OOLP Computes the optimum open loop performance and parameters of a
%given OCCD system.
%
% [OSYS,P,Et,Po,Pc] = OOLP(SYS) where SYS is the structure array (as
% if created by OCSET), returns:
% OSYS is the same as SYS, but now with the optimal open-loop
% parameters.
% P is the optimal open loop performance.
% Et is the terminal energy term.
% Po is the open-loop energy term.
% Pc is the closed-loop energy term.
%
% [OSYS,OPTp,Et,Pctr,Po] = OOLP(SYS, modal) returns the performance in
% each mode rather than total performance.
if nargin<2
modal = false;
end
if sys.T > 0
% Call delayed subfunctin
[sys OPTp Et Po Pc]=delOOLP(sys,modal);
return
end
if any(sys.Type==[0 4 5 6])
%Type without OL control
sys.a=0*sys.xo;sys.b=sys.a;
else
%Extract values from structure
u1 = sys.uu(1); u2 = sys.uu(2); u3 = sys.uu(3);
u4 = sys.uu(4); u5 = sys.uu(5);
To = sys.To;
xo = sys.xo; vo = sys.vo;
a = sys.a; b = sys.b;
cp = sys.cp; cd = sys.cd;
N = 1:length(sys.xo);
[R u Ro uo] = ComputeRu;
ComputePartials %Compute partial derivatives
%Compute optimum open loop parameters
anum = Pbb.*Pa0-Pab.*Pb0;
bnum= Paa.*Pb0-Pab.*Pa0;
abden = Pab.^2-Paa.*Pbb;
sys.a=anum./abden;
sys.b=bnum./abden;
end
%Compute optimum open loop performance
[OPTp Et Po Pc] = performance(sys,modal);
function [R u Ro uo] = ComputeRu
wo = (N*pi).^2*sys.Alpha;
R = -sys.Gamma*wo - cd/2;
u = sqrt(wo.^2 + cp - R.^2);
% Compute open loop relations
if sys.IOL
Ro = -sys.Gamma*wo;
uo = sqrt(wo.^2 - Ro.^2);
else
Ro = R;
uo = u;
end
end
function ComputePartials
X = u.^2+R.^2;
Paa=(((-1./32.*u4.*cp.^2.*(2.*u.^9.*R.^3+4.*u.^7.*R.^5+2.*u.^5.*R.^...
7)./u.^6./R.^3./X.^3+1./4.*u2.*R./u+1./2.*u5.*cd.^2.*(1./8.*(2.*u.^4.*...
R.^6+2.*u.^8.*R.^2+4.*u.^6.*R.^4)./X.^3./u.^5-1./16.*(-2.*u.^9.*R.^2+2.*...
u.^7.*R.^4-2.*u.^11+2.*u.^5.*R.^6)./X.^3./u.^6)).*To.^2-1./32.*u4.*cp.^...
2.*(-u.^7.*R.^3+3.*u.^5.*R.^5)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(1./...
8.*(u.^8-3.*R.^2.*u.^6)./X.^3./u.^5-1./16.*(u.^5.*R.^4+3.*u.^9-4.*u.^7.*...
R.^2)./X.^3./u.^6)+1./4.*u3.*u./X+(-1./32.*u4.*cp.^2.*(-4.*u.^7.*R.^4-...
4.*u.^5.*R.^6)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(-1./16.*(8.*u.^9.*R+...
8.*u.^7.*R.^3)./X.^3./u.^6+1./8.*(4.*R.*u.^8+4.*R.^3.*u.^6)./X.^3./u.^...
5)+1./4.*u2./u).*To).*sin(2.*u.*To)+1./2.*u5.*cd.^2.*(1./16./R.^3+1./...
16./R./u.^2)+((-1./32.*u4.*cp.^2.*(2.*u.^8.*R.^4+2.*u.^4.*R.^8+4.*u.^6.*...
R.^6)./u.^6./R.^3./X.^3+1./8.*u2+(-1./8.*u1-1./8.*u2.*R.^2)./u.^2+1./2.*...
u5.*cd.^2.*(1./8.*(-4.*u.^7.*R.^3-2.*u.^9.*R-2.*u.^5.*R.^5)./X.^3./u.^5-...
1./16.*(-2.*u.^8.*R.^3-2.*R.*u.^10+2.*u.^6.*R.^5+2.*u.^4.*R.^7)./X.^3./...
u.^6)).*To.^2+(-1./32.*u4.*cp.^2.*(-2.*u.^4.*R.^7+2.*u.^8.*R.^3)./u.^6./...
R.^3./X.^3+1./2.*u5.*cd.^2.*(-1./16.*(6.*u.^8.*R.^2-2.*u.^10+10.*u.^6.*...
R.^4+2.*u.^4.*R.^6)./X.^3./u.^6+1./8.*(2.*u.^5.*R.^4-2.*u.^9)./X.^3./u.^...
5)-1./4.*u2.*R./u.^2).*To-1./8.*u2./u.^2-1./32.*u4.*cp.^2.*(u.^4.*R.^6-...
3.*u.^6.*R.^4)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(1./8.*(-R.^3.*u.^5+...
3.*u.^7.*R)./X.^3./u.^5-1./16.*(u.^4.*R.^5+7.*R.*u.^8)./X.^3./u.^6)+1./...
4.*u3.*R./X).*cos(2.*u.*To)+(-1./32.*u4.*cp.^2.*(-6.*u.^8.*R.^4-2.*u.^...
10.*R.^2-2.*u.^4.*R.^8-6.*u.^6.*R.^6)./u.^6./R.^3./X.^3+1./8.*u2+2.*(1./...
16.*u1+1./16.*u2.*R.^2)./u.^2+1./2.*u5.*cd.^2.*(1./8./R+1./8.*R./u.^...
2)).*To.^2-1./32.*u4.*cp.^2.*(-u.^4.*R.^6-u.^10-3.*u.^8.*R.^2-3.*u.^6.*...
R.^4)./u.^6./R.^3./X.^3+1./4.*u3.*(u.^2.*R.^2+u.^4)./u.^2./X./R+1./8.*...
u2./u.^2+(-1./32.*u4.*cp.^2.*(6.*u.^8.*R.^3+2.*R.*u.^10+6.*u.^6.*R.^5+...
2.*u.^4.*R.^7)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(-1./8./R.^2+1./8./u.^...
2)+1./4.*u2.*R./u.^2).*To).*exp(2.*R.*To)-1./32.*u4.*cp.^2.*(u.^10+3.*...
u.^8.*R.^2+6.*u.^6.*R.^4)./u.^6./R.^3./X.^3+1./4.*u3.*(-2.*u.^2.*R.^2-...
u.^4)./u.^2./X./R+1./2.*u5.*cd.^2.*(1./8.*(-3.*u.^7.*R+R.^3.*u.^5)./X.^...
3./u.^5-1./16./R.^3-1./16.*(-7.*R.*u.^8-u.^4.*R.^5)./X.^3./u.^6-1./16./...
R./u.^2);
Pbb=(((-1./32.*u4.*cp.^2.*(-4.*u.^5.*R.^5-2.*u.^3.*R.^7-2.*u.^7.*...
R.^3)./u.^6./R.^3./X.^3-1./4.*u2.*R./u.^3+1./2.*u5.*cd.^2.*(1./8.*(-2.*...
R.^2.*u.^6-4.*u.^4.*R.^4-2.*u.^2.*R.^6)./X.^3./u.^5-1./16.*(2.*u.^9+2.*...
u.^7.*R.^2-2.*u.^3.*R.^6-2.*u.^5.*R.^4)./X.^3./u.^6)).*To.^2-1./32.*u4.*...
cp.^2.*(5.*R.^3.*u.^5+R.^5.*u.^3)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*...
(1./8.*(R.^6+2.*u.^4.*R.^2-u.^2.*R.^4)./X.^3./u.^5-1./16.*(-3.*u.^3.*R.^...
4+2.*u.^5.*R.^2+2.*u.*R.^6-u.^7)./X.^3./u.^6)-1./4.*u3./u./X+(-1./32.*...
u4.*cp.^2.*(4.*u.*R.^8+8.*u.^5.*R.^4+12.*u.^3.*R.^6)./u.^6./R.^3./X.^3+...
1./2.*u5.*cd.^2.*(1./8.*(-2.*R.*u.^6-2.*R.^7-2.*R.^3.*u.^4-2.*R.^5.*u.^...
2)./X.^3./u.^5-1./16.*(8.*R.^3.*u.^5+8.*R.^5.*u.^3)./X.^3./u.^6)+2.*(-...
1./8.*u1-1./8.*u2.*R.^2)./u.^5).*To).*sin(2.*u.*To)+1./2.*u5.*cd.^2.*...
(1./8.*R./u.^6-1./16./R./u.^4+1./16./R.^3./u.^2)+((-1./32.*u4.*cp.^2.*(-...
2.*u.^2.*R.^8-2.*u.^6.*R.^4-4.*u.^4.*R.^6)./u.^6./R.^3./X.^3+2.*(1./16.*...
u1+1./16.*u2.*R.^2)./u.^4-1./8.*u2./u.^2+1./2.*u5.*cd.^2.*(1./8.*(2.*R.^...
5.*u.^3+2.*u.^7.*R+4.*R.^3.*u.^5)./X.^3./u.^5-1./16.*(2.*R.*u.^8-2.*u.^...
4.*R.^5+2.*R.^3.*u.^6-2.*u.^2.*R.^7)./X.^3./u.^6)).*To.^2+(-1./32.*u4.*...
cp.^2.*(-2.*u.^2.*R.^7-6.*R.^3.*u.^6-8.*u.^4.*R.^5)./u.^6./R.^3./X.^3+...
1./2.*u5.*cd.^2.*(1./8.*(-2.*u.^5.*R.^2+2.*u.*R.^6)./X.^3./u.^5-1./16.*...
(2.*u.^8+2.*R.^2.*u.^6+6.*u.^2.*R.^6+6.*u.^4.*R.^4)./X.^3./u.^6)-1./4.*...
u2.*R./u.^4).*To+2.*(-1./16.*u2.*R.^2-1./16.*u1)./u.^6-1./32.*u4.*cp.^...
2.*(2.*R.^8+9.*u.^4.*R.^4+7.*u.^2.*R.^6)./u.^6./R.^3./X.^3+1./2.*u5.*...
cd.^2.*(1./8.*(u.^3.*R.^3-u.^5.*R-2.*u.*R.^5)./X.^3./u.^5-1./16.*(-R.*...
u.^6+2.*R.^7+6.*R.^3.*u.^4+R.^5.*u.^2)./X.^3./u.^6)-1./4.*u3.*R./u.^2./...
X).*cos(2.*u.*To)+(-1./32.*u4.*cp.^2.*(-6.*u.^4.*R.^6-6.*u.^6.*R.^4-2.*...
u.^8.*R.^2-2.*u.^2.*R.^8)./u.^6./R.^3./X.^3+1./8.*u2./u.^2+2.*(1./16.*...
u1+1./16.*u2.*R.^2)./u.^4+1./2.*u5.*cd.^2.*(1./8.*R./u.^4+1./8./R./u.^...
2)).*To.^2-1./32.*u4.*cp.^2.*(-7.*u.^2.*R.^6-u.^8-9.*u.^4.*R.^4-5.*R.^...
2.*u.^6-2.*R.^8)./u.^6./R.^3./X.^3+1./4.*u3./u.^2./R+2.*(1./16.*u1+1./...
16.*u2.*R.^2)./u.^6+(-1./32.*u4.*cp.^2.*(6.*u.^4.*R.^5+6.*R.^3.*u.^6+2.*...
u.^2.*R.^7+2.*R.*u.^8)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(-1./8./R.^2./...
u.^2+1./8./u.^4)+1./4.*u2.*R./u.^4).*To).*exp(2.*R.*To)-1./32.*u4.*cp.^...
2.*(5.*R.^2.*u.^6+u.^8)./u.^6./R.^3./X.^3-1./4.*u3./X./R+1./2.*u5.*cd.^...
2.*(1./8.*(u.^5.*R-u.^3.*R.^3+2.*u.*R.^5)./X.^3./u.^5-1./16./R.^3./u.^2-...
1./8.*R./u.^6+1./16./R./u.^4-1./16.*(-R.^5.*u.^2-2.*R.^7-6.*R.^3.*u.^4+...
R.*u.^6)./X.^3./u.^6);
Pab=(((-1./64.*u4.*cp.^2.*(-4.*u.^4.*R.^7-8.*u.^6.*R.^5-4.*u.^8.*...
R.^3)./u.^6./R.^3./X.^3-1./4.*u2.*R./u.^2+1./2.*u5.*cd.^2.*(1./16.*(-2.*...
u.^7.*R.^2+2.*u.^3.*R.^6+2.*u.^5.*R.^4-2.*u.^9)./X.^3./u.^5-1./32.*(16.*...
u.^6.*R.^4+8.*u.^4.*R.^6+8.*u.^8.*R.^2)./X.^3./u.^6)).*To.^2+(-1./64.*...
u4.*cp.^2.*(4.*u.^2.*R.^8+16.*u.^4.*R.^6+12.*u.^6.*R.^4)./u.^6./R.^3./...
X.^3+1./2.*u5.*cd.^2.*(1./16.*(4.*u.^7.*R-4.*R.^5.*u.^3)./X.^3./u.^5-1./...
32.*(12.*R.^3.*u.^6+4.*u.^2.*R.^7+4.*u.^4.*R.^5+12.*R.*u.^8)./X.^3./u.^...
6)+(-1./8.*u1-1./8.*u2.*R.^2)./u.^4-1./8.*u2./u.^2).*To-1./8.*u2.*R./u.^...
4-1./64.*u4.*cp.^2.*(4.*R.^3.*u.^6-6.*u.^4.*R.^5-2.*u.^2.*R.^7)./u.^6./...
R.^3./X.^3+1./2.*u5.*cd.^2.*(1./16.*(u.^7+3.*u.^3.*R.^4-4.*u.^5.*R.^2)./...
X.^3./u.^5-1./32.*(10.*u.^4.*R.^4-6.*R.^2.*u.^6+2.*u.^2.*R.^6+2.*u.^8)./...
X.^3./u.^6)-1./4.*u3./X).*cos(2.*u.*To)+1./2.*u5.*cd.^2.*(1./16./u.^4-...
1./16./R.^2./u.^2)+(-1./64.*u4.*cp.^2.*(-4.*u.^2.*R.^8-12.*u.^6.*R.^4-...
4.*u.^8.*R.^2-12.*u.^4.*R.^6)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(1./8.*...
R./u.^4+1./8./R./u.^2)+1./8.*u2./u.^2+(1./8.*u1+1./8.*u2.*R.^2)./u.^4).*...
To-1./64.*u4.*cp.^2.*(6.*u.^4.*R.^5+6.*R.^3.*u.^6+2.*u.^2.*R.^7+2.*R.*...
u.^8)./u.^6./R.^3./X.^3+1./8.*u2.*R./u.^4+((-1./64.*u4.*cp.^2.*(8.*u.^...
5.*R.^6+4.*u.^3.*R.^8+4.*u.^7.*R.^4)./u.^6./R.^3./X.^3+1./8.*u2./u+(-1./...
8.*u1-1./8.*u2.*R.^2)./u.^3+1./2.*u5.*cd.^2.*(1./16.*(2.*R.*u.^8-2.*u.^...
4.*R.^5+2.*R.^3.*u.^6-2.*u.^2.*R.^7)./X.^3./u.^5-1./32.*(8.*u.^5.*R.^5+...
16.*u.^7.*R.^3+8.*u.^9.*R)./X.^3./u.^6)).*To.^2+1./2.*u5.*cd.^2.*(1./...
16.*(-R.^5.*u.^2+4.*R.^3.*u.^4-3.*R.*u.^6)./X.^3./u.^5-1./32.*(12.*R.^...
3.*u.^5-4.*u.^7.*R)./X.^3./u.^6)+(-1./64.*u4.*cp.^2.*(8.*u.^7.*R.^3+8.*...
u.^5.*R.^5)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(1./16.*(-2.*R.^2.*u.^6-...
2.*u.^4.*R.^4+2.*u.^2.*R.^6+2.*u.^8)./X.^3./u.^5-1./32.*(4.*u.^3.*R.^6+...
4.*u.^9-4.*u.^7.*R.^2-4.*u.^5.*R.^4)./X.^3./u.^6)).*To-1./64.*u4.*cp.^...
2.*(-2.*u.^3.*R.^6-10.*u.^5.*R.^4)./u.^6./R.^3./X.^3+1./4.*u3.*R./u./...
X).*sin(2.*u.*To)).*exp(2.*R.*To)-1./64.*u4.*cp.^2.*(-2.*R.*u.^8-10.*R.^...
3.*u.^6)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(1./16.*(4.*u.^5.*R.^2-3.*...
u.^3.*R.^4-u.^7)./X.^3./u.^5-1./32.*(-2.*u.^2.*R.^6+6.*R.^2.*u.^6-10.*...
u.^4.*R.^4-2.*u.^8)./X.^3./u.^6+1./16./R.^2./u.^2-1./16./u.^4)+1./4.*u3./X;
Pa0=(((((-1./4.*u1-1./4.*u2.*R.^2)./u.^2+1./4.*u2-1./64.*u4.*cp.^...
2.*(16.*u.^6.*R.^6+8.*u.^4.*R.^8+8.*u.^8.*R.^4)./u.^6./R.^3./X.^3+1./2.*...
u5.*cd.^2.*(-1./32.*(-8.*u.^8.*R.^3+8.*u.^6.*R.^5-8.*R.*u.^10+8.*u.^4.*...
R.^7)./X.^3./u.^6+1./16.*(-8.*u.^5.*R.^5-8.*u.^9.*R-16.*u.^7.*R.^3)./X.^...
3./u.^5)).*vo-1./64.*u4.*cp.^2.*(-8.*u.^4.*xo.*R.^9+8.*u.^8.*xo.*R.^5+...
8.*u.^10.*xo.*R.^3-8.*u.^6.*xo.*R.^7)./u.^6./R.^3./X.^3+(1./4.*u1.*R.*...
xo+1./4.*u2.*R.^3.*xo)./u.^2+1./4.*u2.*R.*xo+1./2.*u5.*cd.^2.*(1./16.*...
(4.*u.^5.*R.^6.*xo+12.*u.^7.*R.^4.*xo+4.*u.^11.*xo+12.*u.^9.*xo.*R.^2)./...
X.^3./u.^5-1./32.*(-8.*u.^4.*xo.*R.^8-8.*xo.*u.^10.*R.^2-24.*xo.*u.^6.*...
R.^6-24.*xo.*u.^8.*R.^4)./X.^3./u.^6)).*To+(1./2.*u5.*cd.^2.*(-1./32.*...
(4.*u.^4.*R.^6+12.*u.^8.*R.^2+20.*u.^6.*R.^4-4.*u.^10)./X.^3./u.^6+1./...
16.*(4.*u.^5.*R.^4-4.*u.^9)./X.^3./u.^5)-1./64.*u4.*cp.^2.*(-4.*u.^4.*...
R.^7+4.*u.^8.*R.^3)./u.^6./R.^3./X.^3-1./4.*u2.*R./u.^2).*vo-1./64.*u4.*...
cp.^2.*(-8.*xo.*u.^6.*R.^6-12.*xo.*u.^8.*R.^4+4.*u.^4.*xo.*R.^8)./u.^6./...
R.^3./X.^3+1./4.*u2.*xo+1./4.*u2.*R.^2.*xo./u.^2+1./2.*u5.*cd.^2.*(1./...
16.*(-4.*u.^5.*xo.*R.^5-4.*u.^9.*R.*xo-8.*u.^7.*xo.*R.^3)./X.^3./u.^5-...
1./32.*(-4.*u.^4.*xo.*R.^7-20.*xo.*u.^6.*R.^5-12.*R.*xo.*u.^10-28.*xo.*...
u.^8.*R.^3)./X.^3./u.^6)).*cos(2.*u.*To)+(((1./2.*u2.*R./u-1./64.*u4.*...
cp.^2.*(16.*u.^7.*R.^5+8.*u.^9.*R.^3+8.*u.^5.*R.^7)./u.^6./R.^3./X.^3+...
1./2.*u5.*cd.^2.*(-1./32.*(-8.*u.^11-8.*u.^9.*R.^2+8.*u.^5.*R.^6+8.*u.^...
7.*R.^4)./X.^3./u.^6+1./16.*(16.*u.^6.*R.^4+8.*u.^4.*R.^6+8.*u.^8.*R.^...
2)./X.^3./u.^5)).*vo-1./64.*u4.*cp.^2.*(-16.*u.^5.*xo.*R.^8-32.*u.^7.*...
xo.*R.^6-16.*u.^9.*xo.*R.^4)./u.^6./R.^3./X.^3-1./4.*u2.*xo.*u+(1./4.*...
u1.*xo-1./4.*u2.*R.^2.*xo)./u+1./2.*u5.*cd.^2.*(1./16.*(-4.*u.^4.*xo.*...
R.^7-12.*xo.*u.^6.*R.^5-12.*xo.*u.^8.*R.^3-4.*R.*xo.*u.^10)./X.^3./u.^5-...
1./32.*(-24.*u.^7.*R.^5.*xo-24.*u.^9.*xo.*R.^3-8.*u.^5.*R.^7.*xo-8.*u.^...
11.*xo.*R)./X.^3./u.^6)).*To+(-1./64.*u4.*cp.^2.*(-8.*u.^7.*R.^4-8.*u.^...
5.*R.^6)./u.^6./R.^3./X.^3+1./4.*u2./u+1./2.*u5.*cd.^2.*(-1./32.*(16.*...
u.^7.*R.^3+16.*u.^9.*R)./X.^3./u.^6+1./16.*(8.*R.^3.*u.^6+8.*R.*u.^8)./...
X.^3./u.^5)).*vo+1./2.*u5.*cd.^2.*(1./16.*(-2.*u.^10.*xo+2.*xo.*u.^4.*...
R.^6+2.*xo.*u.^6.*R.^4-2.*xo.*u.^8.*R.^2)./X.^3./u.^5-1./32.*(-8.*u.^...
11.*xo-16.*u.^9.*xo.*R.^2-8.*u.^7.*R.^4.*xo)./X.^3./u.^6)-1./64.*u4.*...
cp.^2.*(-4.*u.^9.*xo.*R.^3+8.*u.^7.*R.^5.*xo+12.*u.^5.*R.^7.*xo)./u.^6./...
R.^3./X.^3).*sin(2.*u.*To)+(1./4.*u2.*R./u.^2+1./2.*u5.*cd.^2.*(-1./8./...
R.^2+1./8./u.^2)-1./64.*u4.*cp.^2.*(12.*u.^8.*R.^3+4.*u.^4.*R.^7+4.*R.*...
u.^10+12.*u.^6.*R.^5)./u.^6./R.^3./X.^3).*vo+((1./4.*u2+(1./4.*u1+1./4.*...
u2.*R.^2)./u.^2-1./64.*u4.*cp.^2.*(-24.*u.^8.*R.^4-24.*u.^6.*R.^6-8.*u.^...
10.*R.^2-8.*u.^4.*R.^8)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(1./4./R+1./...
4.*R./u.^2)).*vo-1./64.*u4.*cp.^2.*(24.*u.^6.*xo.*R.^7+24.*u.^8.*xo.*R.^...
5+8.*u.^10.*xo.*R.^3+8.*u.^4.*xo.*R.^9)./u.^6./R.^3./X.^3-1./4.*u2.*R.*...
xo+(-1./4.*u2.*R.^3.*xo-1./4.*u1.*R.*xo)./u.^2+1./2.*u5.*cd.^2.*(-1./4.*...
xo-1./4.*R.^2.*xo./u.^2)).*To+1./2.*u5.*cd.^2.*(-1./8./R.*xo-1./8.*R.*...
xo./u.^2)-1./64.*u4.*cp.^2.*(-4.*xo.*u.^10.*R.^2-4.*u.^4.*xo.*R.^8-12.*...
xo.*u.^8.*R.^4-12.*xo.*u.^6.*R.^6)./u.^6./R.^3./X.^3-1./4.*u2.*R.^2.*...
xo./u.^2-1./4.*u2.*xo).*exp(2.*R.*To)+(-1./64.*u4.*cp.^2.*(-16.*u.^8.*...
R.^3-12.*u.^6.*R.^5-4.*R.*u.^10)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(-...
1./8./u.^2-1./32.*(-4.*u.^4.*R.^6-20.*u.^6.*R.^4-12.*u.^8.*R.^2+4.*u.^...
10)./X.^3./u.^6+1./16.*(-4.*u.^5.*R.^4+4.*u.^9)./X.^3./u.^5+1./8./R.^...
2)).*vo+1./2.*u5.*cd.^2.*(1./16.*(4.*u.^9.*R.*xo+4.*u.^5.*xo.*R.^5+8.*...
u.^7.*xo.*R.^3)./X.^3./u.^5+1./8.*R.*xo./u.^2-1./32.*(4.*u.^4.*xo.*R.^7+...
12.*R.*xo.*u.^10+20.*xo.*u.^6.*R.^5+28.*xo.*u.^8.*R.^3)./X.^3./u.^6+1./...
8./R.*xo)-1./64.*u4.*cp.^2.*(4.*xo.*u.^10.*R.^2+24.*xo.*u.^8.*R.^4+20.*...
xo.*u.^6.*R.^6)./u.^6./R.^3./X.^3;
Pb0=(((((-1./4.*u1-1./4.*u2.*R.^2)./u.^3+1./4.*u2./u-1./64.*u4.*...
cp.^2.*(8.*u.^3.*R.^8+8.*u.^7.*R.^4+16.*u.^5.*R.^6)./u.^6./R.^3./X.^3+...
1./2.*u5.*cd.^2.*(1./16.*(4.*R.*u.^8+4.*R.^3.*u.^6-4.*u.^2.*R.^7-4.*u.^...
4.*R.^5)./X.^3./u.^5-1./32.*(16.*u.^5.*R.^5+32.*u.^7.*R.^3+16.*u.^9.*...
R)./X.^3./u.^6)).*vo-1./64.*u4.*cp.^2.*(-8.*u.^5.*R.^7.*xo+8.*u.^9.*xo.*...
R.^3-8.*u.^3.*R.^9.*xo+8.*u.^7.*R.^5.*xo)./u.^6./R.^3./X.^3+(1./4.*u1.*...
R.*xo+1./4.*u2.*R.^3.*xo)./u.^3+1./4.*u2.*R.*xo./u+1./2.*u5.*cd.^2.*(-...
1./32.*(-24.*u.^7.*R.^4.*xo-8.*u.^11.*xo-24.*u.^9.*xo.*R.^2-8.*u.^5.*R.^...
6.*xo)./X.^3./u.^6+1./16.*(12.*xo.*u.^6.*R.^4+12.*xo.*u.^4.*R.^6+4.*xo.*...
u.^8.*R.^2+4.*xo.*u.^2.*R.^8)./X.^3./u.^5)).*To+(-1./64.*u4.*cp.^2.*(4.*...
u.^3.*R.^7+12.*u.^7.*R.^3+16.*u.^5.*R.^5)./u.^6./R.^3./X.^3+1./4.*u2.*...
R./u.^3+1./2.*u5.*cd.^2.*(-1./32.*(-8.*u.^7.*R.^2+8.*u.^3.*R.^6)./X.^3./...
u.^6+1./16.*(2.*u.^8+2.*R.^2.*u.^6+6.*u.^2.*R.^6+6.*u.^4.*R.^4)./X.^3./...
u.^5)).*vo-1./64.*u4.*cp.^2.*(-28.*u.^7.*R.^4.*xo-12.*u.^3.*R.^8.*xo-...
40.*u.^5.*R.^6.*xo)./u.^6./R.^3./X.^3+1./4.*u1.*xo./u.^3+1./2.*u5.*cd.^...
2.*(1./16.*(2.*xo.*R.^3.*u.^6+2.*xo.*u.^8.*R-2.*xo.*R.^5.*u.^4-2.*xo.*...
R.^7.*u.^2)./X.^3./u.^5-1./32.*(-8.*u.^3.*xo.*R.^7-16.*u.^5.*xo.*R.^5-...
8.*u.^7.*xo.*R.^3)./X.^3./u.^6)).*sin(2.*u.*To)+(-1./64.*u4.*cp.^2.*...
(24.*xo.*u.^8.*R.^4+8.*u.^4.*xo.*R.^8+24.*xo.*u.^6.*R.^6+8.*xo.*u.^10.*...
R.^2)./u.^6./R.^3./X.^3-1./4.*u2.*xo+(-1./4.*u1.*xo-1./4.*u2.*R.^2.*...
xo)./u.^2+1./2.*u5.*cd.^2.*(-1./4.*R.*xo./u.^2-1./4./R.*xo)).*To+((1./...
4.*u1+1./4.*u2.*R.^2)./u.^4+1./8.*u5.*cd.^2.*R./u.^4-1./64.*u4.*cp.^2.*...
(-8.*u.^2.*R.^8-24.*u.^4.*R.^6-24.*u.^6.*R.^4-8.*u.^8.*R.^2)./u.^6./R.^...
3./X.^3).*vo+(((-1./2.*u2.*R./u.^2-1./64.*u4.*cp.^2.*(-8.*u.^8.*R.^3-8.*...
u.^4.*R.^7-16.*u.^6.*R.^5)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(1./16.*(-...
4.*u.^9+4.*u.^5.*R.^4+4.*u.^3.*R.^6-4.*u.^7.*R.^2)./X.^3./u.^5-1./32.*...
(32.*u.^6.*R.^4+16.*u.^8.*R.^2+16.*u.^4.*R.^6)./X.^3./u.^6)).*vo-1./64.*...
u4.*cp.^2.*(16.*xo.*u.^8.*R.^4+16.*u.^4.*xo.*R.^8+32.*xo.*u.^6.*R.^6)./...
u.^6./R.^3./X.^3+(-1./4.*u1.*xo+1./4.*u2.*R.^2.*xo)./u.^2+1./4.*u2.*xo+...
1./2.*u5.*cd.^2.*(-1./32.*(-24.*xo.*u.^6.*R.^5-8.*R.*xo.*u.^10-8.*u.^4.*...
xo.*R.^7-24.*xo.*u.^8.*R.^3)./X.^3./u.^6+1./16.*(-4.*u.^3.*xo.*R.^7-12.*...
u.^5.*xo.*R.^5-12.*u.^7.*xo.*R.^3-4.*u.^9.*R.*xo)./X.^3./u.^5)).*To+(1./...
2.*u5.*cd.^2.*(1./16.*(-8.*R.^5.*u.^3-8.*R.^3.*u.^5)./X.^3./u.^5-1./32.*...
(8.*R.*u.^8+8.*u.^2.*R.^7+8.*u.^4.*R.^5+8.*R.^3.*u.^6)./X.^3./u.^6)-1./...
64.*u4.*cp.^2.*(24.*u.^4.*R.^6+8.*u.^2.*R.^8+16.*u.^6.*R.^4)./u.^6./R.^...
3./X.^3+(-1./4.*u1-1./4.*u2.*R.^2)./u.^4).*vo-1./64.*u4.*cp.^2.*(12.*...
xo.*u.^8.*R.^3-8.*u.^2.*xo.*R.^9-20.*u.^4.*xo.*R.^7)./u.^6./R.^3./X.^3+...
1./4.*u2.*R.*xo./u.^2+(1./4.*u1.*R.*xo+1./4.*u2.*R.^3.*xo)./u.^4+1./2.*...
u5.*cd.^2.*(-1./32.*(-20.*xo.*u.^4.*R.^6-20.*xo.*u.^6.*R.^4-8.*xo.*u.^...
2.*R.^8-4.*u.^10.*xo-12.*xo.*u.^8.*R.^2)./X.^3./u.^6+1./16.*(4.*u.^3.*...
xo.*R.^6+4.*u.^7.*xo.*R.^2+8.*u.^5.*xo.*R.^4)./X.^3./u.^5)).*cos(2.*u.*...
To)-1./4.*u2.*R.*xo./u.^2+(-1./4.*u2.*R.^3.*xo-1./4.*u1.*R.*xo)./u.^4+...
1./2.*u5.*cd.^2.*(1./8./R.^2.*xo-1./4.*R.^2.*xo./u.^4-1./8.*xo./u.^2)-...
1./64.*u4.*cp.^2.*(-4.*xo.*u.^8.*R.^3+20.*u.^4.*xo.*R.^7-4.*R.*xo.*u.^...
10+8.*u.^2.*xo.*R.^9+12.*xo.*u.^6.*R.^5)./u.^6./R.^3./X.^3).*exp(2.*R.*...
To)-1./64.*u4.*cp.^2.*(-8.*xo.*u.^8.*R.^3-12.*xo.*u.^6.*R.^5+4.*R.*xo.*...
u.^10)./u.^6./R.^3./X.^3+(-1./64.*u4.*cp.^2.*(8.*u.^6.*R.^4+8.*u.^8.*R.^...
2)./u.^6./R.^3./X.^3+1./2.*u5.*cd.^2.*(-1./32.*(-8.*R.*u.^8-8.*u.^2.*R.^...
7-8.*R.^3.*u.^6-8.*u.^4.*R.^5)./X.^3./u.^6-1./4.*R./u.^4+1./16.*(8.*R.^...
3.*u.^5+8.*R.^5.*u.^3)./X.^3./u.^5)).*vo+1./2.*u5.*cd.^2.*(1./8.*xo./u.^...
2+1./4.*R.^2.*xo./u.^4-1./8./R.^2.*xo+1./16.*(-8.*u.^5.*xo.*R.^4-4.*u.^...
7.*xo.*R.^2-4.*u.^3.*xo.*R.^6)./X.^3./u.^5-1./32.*(20.*xo.*u.^6.*R.^4+...
4.*u.^10.*xo+8.*xo.*u.^2.*R.^8+20.*xo.*u.^4.*R.^6+12.*xo.*u.^8.*R.^2)./...
X.^3./u.^6);
end
end
%%% DELAYED SUBFUNCTION
function [sys,Pt,Et,Pctr,Po]=delOOLP(sys,modal)
da=1e6;db=da; % Differential elements
a=repmat([-da 0 da],length(sys.xo));b=a;
for aa =1:3
sys.a=a(:,aa);
for bb=1:3
sys.b=b(:,bb);
P(:,aa,bb)= performance(sys,1);
end
end
Paa=(P(:,3,2)+P(:,1,2)-2*P(:,2,2))/da^2;
Pbb=(P(:,2,3)+P(:,2,1)-2*P(:,2,2))/db^2;
Pab=(P(:,3,3)+P(:,1,1)-P(:,1,3)-P(:,3,1))/4/da/db;
Pa0=(P(:,3,2)-P(:,1,2))/2/da;
Pb0=(P(:,2,3)-P(:,2,1))/2/db;
sys.b=(Paa.*Pb0-Pab.*Pa0)./(Pab.^2-Paa.*Pbb);
sys.a=(Pbb.*Pa0-Pab.*Pb0)./(Pab.^2-Paa.*Pbb);
[Pt,Et,Pctr,Po] = performance(sys,modal);
end