function [P,Et,Po,Pc] = performance(sys, modal)
%PERFORMANCE Computes the terminal performance of a given OCCD system.
%
% [P,Et,Po,Pc] = PERFORMANCE(sys) where SYS is the structure array as
% given by OCSET, returns:
% P is the terminal performance.
% Et is the terminal energy term.
% Po is the open-loop energy term.
% Pc is the closed-loop energy term.
%
% [P,Et,Po,Pc] = PERFORMANCE(SYS, modal) if modal is true, returns
% the performance in each mode rather than total performance.
if nargin<2
modal = false;
end
if sys.T > 0
% Compute the delayed performance function
[P,Et,Po,Pc] = del_performance(sys, modal);
return
end
%Extract parameters from structure
Nt = length(sys.To); % Number of discrete time terms
Nx = length(sys.xo); % Number of initial modes specified
%%Adjust inputs to size Nt-by-Nx
n = 1:Nx;
To = repmat(sys.To(:), 1, Nx);
xo = repmat(sys.xo(:)', Nt, 1);
vo = repmat(sys.vo(:)', Nt, 1);
a = repmat(sys.a(:)', Nt, 1);
b = repmat(sys.b(:)', Nt, 1);
N = repmat(n, Nt, 1);
cp = sys.cp; cd = sys.cd;
u1 = sys.uu(1); u2 = sys.uu(2); u3 = sys.uu(3);
u4 = sys.uu(4); u5 = sys.uu(5);
Pc1=0;Pc2=0;
[R u] = ComputeRu; % Compute dependent open-loop relations
[tt ww dww zz dzz] = response(sys);
ComputeEt % Terminal energy
ComputePc % Closed-loop control energy
ComputePo % Open-loop control energy
P = real(Po+Pc+Et); % Modal performance
if ~modal && Nx>1
P = sum(P, 2); % Total performance
Pc = sum(Pc, 2);
Po = sum(Po, 2);
Et = sum(Et, 2);
end
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 ComputeEt
Et=((((1./4.*u1.*R.*xo+1./4.*u2.*R.^3.*xo+(-1./4.*u1-1./4.*u2.*R.^2).*...
vo).*b./u.^3+(-1./8.*u1-1./8.*u2.*R.^2).*b.^2./u.^5-1./4.*u2.*xo.*a.*u+...
((1./4.*u2.*vo+1./4.*u2.*R.*xo).*b+1./8.*u2.*a.^2+(1./2.*u2.*R.*vo+1./...
4.*u1.*xo-1./4.*u2.*R.^2.*xo).*a)./u).*To-1./2.*u2.*xo.*vo.*u+(1./4.*...
u2.*R.*vo+1./4.*u1.*xo).*b./u.^3+((1./8.*u2.*a.*b+1./8.*u2.*R.*a.^2)./u+...
(-1./8.*u2.*R.*b.^2+(-1./8.*u1-1./8.*u2.*R.^2).*a.*b)./u.^3).*To.^2+...
((1./2.*u1.*xo-1./2.*u2.*R.^2.*xo).*vo+1./2.*u2.*R.*vo.^2-1./2.*u1.*xo.^...
2.*R+1./4.*u2.*vo.*a)./u).*sin(2.*u.*To)+(1./4.*u2.*xo.*a+((1./16.*u1+...
1./16.*u2.*R.^2).*b.^2./u.^4+1./16.*u2.*a.^2+((-1./16.*u2.*R.^2-1./16.*...
u1).*a.^2-1./4.*u2.*R.*a.*b-1./16.*u2.*b.^2)./u.^2).*To.^2+((-1./4.*u1-...
1./4.*u2.*R.^2).*vo.^2+1./4.*u2.*R.*xo.*b+(1./2.*u1.*R.*xo+1./2.*u2.*R.^...
3.*xo).*vo-1./16.*u2.*a.^2-1./4.*u1.*R.^2.*xo.^2+(1./4.*u2.*R.^2.*xo-1./...
4.*u2.*R.*vo).*a-1./4.*u2.*R.^4.*xo.^2)./u.^2+1./4.*u1.*xo.^2-1./4.*u2.*...
xo.^2.*u.^2+1./2.*u2.*R.*xo.*vo+((-1./8.*u2.*R.*b.^2+(-1./8.*u1-1./8.*...
u2.*R.^2).*a.*b)./u.^4+((-1./8.*u2.*a-1./2.*u2.*R.*vo-1./4.*u1.*xo+1./...
4.*u2.*R.^2.*xo).*b-1./8.*u2.*R.*a.^2+(1./4.*u1.*R.*xo+1./4.*u2.*R.^3.*...
xo+(-1./4.*u1-1./4.*u2.*R.^2).*vo).*a)./u.^2+1./4.*u2.*xo.*b+(1./4.*u2.*...
vo+1./4.*u2.*R.*xo).*a).*To+1./4.*u2.*vo.^2+(-1./8.*u2.*R.*a+(-1./4.*u1-...
1./4.*u2.*R.^2).*vo+1./4.*u2.*R.^3.*xo+1./4.*u1.*R.*xo).*b./u.^4-1./2.*...
u2.*R.^2.*xo.^2+(-1./16.*u2.*R.^2-1./16.*u1).*b.^2./u.^6).*cos(2.*u.*...
To)+(1./16.*u2.*a.^2+((1./16.*u1+1./16.*u2.*R.^2).*a.^2+1./16.*u2.*b.^...
2)./u.^2+(1./16.*u1+1./16.*u2.*R.^2).*b.^2./u.^4).*To.^2-1./4.*u2.*xo.*...
a+((1./4.*u1+1./4.*u2.*R.^2).*vo.^2-1./4.*u2.*R.*xo.*b+(-1./2.*u1.*R.*...
xo-1./2.*u2.*R.^3.*xo).*vo+1./16.*u2.*a.^2+1./4.*u1.*R.^2.*xo.^2+(-1./...
4.*u2.*R.^2.*xo+1./4.*u2.*R.*vo).*a+1./4.*u2.*R.^4.*xo.^2)./u.^2+(-1./...
4.*u2.*xo.*b+(1./4.*u2.*vo-1./4.*u2.*R.*xo).*a+((-1./4.*u1.*xo-1./4.*...
u2.*R.^2.*xo+1./8.*u2.*a).*b+1./8.*u2.*R.*a.^2+(-1./4.*u1.*R.*xo-1./4.*...
u2.*R.^3.*xo+(1./4.*u1+1./4.*u2.*R.^2).*vo).*a)./u.^2+(1./8.*u2.*R.*b.^...
2+(1./8.*u1+1./8.*u2.*R.^2).*a.*b)./u.^4).*To+(1./16.*u1+1./16.*u2.*R.^...
2).*b.^2./u.^6+1./4.*u1.*xo.^2+1./4.*u2.*xo.^2.*u.^2-1./2.*u2.*R.*xo.*...
vo+1./4.*u2.*vo.^2+(1./8.*u2.*R.*a+(1./4.*u1+1./4.*u2.*R.^2).*vo-1./4.*...
u2.*R.^3.*xo-1./4.*u1.*R.*xo).*b./u.^4+1./2.*u2.*R.^2.*xo.^2).*exp(2.*...
R.*To);
end
function ComputePc
if sum(sys.Type==[0 7])==0
Pc1=((-1./64.*u4.*cp.^2.*(-6.*u.^6.*R.^4-2.*u.^8.*R.^2-6.*u.^4.*R.^...
6-2.*u.^2.*R.^8)./u.^6./(R.^2+u.^2).^3./R.^3.*b.^2-1./64.*u4.*cp.^2.*(-...
6.*u.^8.*R.^4-6.*u.^6.*R.^6-2.*u.^10.*R.^2-2.*u.^4.*R.^8)./u.^6./(R.^2+...
u.^2).^3./R.^3.*a.^2).*To.^2+(-1./64.*u4.*cp.^2.*(8.*xo.*u.^7.*R.^5+12.*...
xo.*u.^5.*R.^7-4.*xo.*u.^9.*R.^3)./u.^6./(R.^2+u.^2).^3./R.^3.*a+((-1./...
64.*u4.*cp.^2.*(8.*u.^7.*R.^3+8.*u.^5.*R.^5)./u.^6./(R.^2+u.^2).^3./R.^...
3.*a-1./64.*u4.*cp.^2.*(8.*xo.*u.^9.*R.^3-8.*xo.*u.^5.*R.^7+8.*xo.*u.^...
7.*R.^5-8.*u.^3.*xo.*R.^9)./u.^6./(R.^2+u.^2).^3./R.^3).*b-1./64.*u4.*...
cp.^2.*(8.*u.^5.*R.^4+12.*u.^3.*R.^6+4.*u.*R.^8)./u.^6./(R.^2+u.^2).^3./...
R.^3.*b.^2-1./64.*u4.*cp.^2.*(-16.*R.^8.*xo.*u.^5-32.*R.^6.*xo.*u.^7-...
16.*R.^4.*xo.*u.^9)./u.^6./(R.^2+u.^2).^3./R.^3.*a+(-1./64.*u4.*cp.^2.*...
(8.*u.^9.*R.^3+8.*u.^5.*R.^7+16.*u.^7.*R.^5)./u.^6./(R.^2+u.^2).^3./R.^...
3.*a-1./64.*u4.*cp.^2.*(16.*u.^5.*R.^6+8.*u.^7.*R.^4+8.*u.^3.*R.^8)./u.^...
6./(R.^2+u.^2).^3./R.^3.*b).*vo-1./64.*u4.*cp.^2.*(-4.*u.^5.*R.^6-4.*u.^...
7.*R.^4)./u.^6./(R.^2+u.^2).^3./R.^3.*a.^2).*To-1./64.*u4.*cp.^2.*(-u.^...
7.*R.^3+3.*u.^5.*R.^5)./u.^6./(R.^2+u.^2).^3./R.^3.*a.^2-1./64.*u4.*cp.^...
2.*(8.*u.^9.*R.^3+8.*u.^5.*R.^7+16.*u.^7.*R.^5)./u.^6./(R.^2+u.^2).^3./...
R.^3.*vo.^2+(-1./64.*u4.*cp.^2.*(4.*u.^7.*R.^4+8.*u.^5.*R.^6+4.*u.^3.*...
R.^8)./u.^6./(R.^2+u.^2).^3./R.^3.*a.*b-1./64.*u4.*cp.^2.*(-2.*u.^7.*R.^...
3-4.*u.^5.*R.^5-2.*u.^3.*R.^7)./u.^6./(R.^2+u.^2).^3./R.^3.*b.^2-1./64.*...
u4.*cp.^2.*(2.*u.^5.*R.^7+2.*u.^9.*R.^3+4.*u.^7.*R.^5)./u.^6./(R.^2+u.^...
2).^3./R.^3.*a.^2).*To.^2+(-1./64.*u4.*cp.^2.*(-40.*xo.*u.^5.*R.^6-28.*...
xo.*u.^7.*R.^4-12.*u.^3.*xo.*R.^8)./u.^6./(R.^2+u.^2).^3./R.^3-1./64.*...
u4.*cp.^2.*(-10.*u.^5.*R.^4-2.*u.^3.*R.^6)./u.^6./(R.^2+u.^2).^3./R.^3.*...
a).*b-1./64.*u4.*cp.^2.*(u.^3.*R.^5+5.*u.^5.*R.^3)./u.^6./(R.^2+u.^2).^...
3./R.^3.*b.^2+(-1./64.*u4.*cp.^2.*(16.*u.^5.*R.^5+4.*u.^3.*R.^7+12.*u.^...
7.*R.^3)./u.^6./(R.^2+u.^2).^3./R.^3.*b-1./64.*u4.*cp.^2.*(-32.*R.^4.*...
xo.*u.^9-64.*R.^6.*xo.*u.^7-32.*R.^8.*xo.*u.^5)./u.^6./(R.^2+u.^2).^3./...
R.^3-1./64.*u4.*cp.^2.*(-8.*u.^5.*R.^6-8.*u.^7.*R.^4)./u.^6./(R.^2+u.^...
2).^3./R.^3.*a).*vo-1./64.*u4.*cp.^2.*(-8.*xo.^2.*u.^11.*R.^3+24.*R.^9.*...
xo.^2.*u.^5+40.*xo.^2.*u.^7.*R.^7+8.*xo.^2.*u.^9.*R.^5)./u.^6./(R.^2+u.^...
2).^3./R.^3).*sin(2.*u.*To)-1./64.*u4.*cp.^2.*(-32.*xo.^2.*u.^6.*R.^8-...
8.*xo.^2.*u.^12.*R.^2-32.*xo.^2.*u.^10.*R.^4-8.*R.^10.*xo.^2.*u.^4-48.*...
xo.^2.*u.^8.*R.^6)./u.^6./(R.^2+u.^2).^3./R.^3-1./64.*u4.*cp.^2.*(-9.*...
u.^4.*R.^4-5.*u.^6.*R.^2-7.*u.^2.*R.^6-2.*R.^8-u.^8)./u.^6./(R.^2+u.^...
2).^3./R.^3.*b.^2-1./64.*u4.*cp.^2.*(-12.*xo.*u.^8.*R.^4-12.*xo.*u.^6.*...
R.^6-4.*xo.*u.^10.*R.^2-4.*xo.*u.^4.*R.^8)./u.^6./(R.^2+u.^2).^3./R.^3.*...
a+(-1./64.*u4.*cp.^2.*(-4.*xo.*u.^8.*R.^3-4.*R.*xo.*u.^10+8.*xo.*u.^2.*...
R.^9+12.*xo.*u.^6.*R.^5+20.*xo.*u.^4.*R.^7)./u.^6./(R.^2+u.^2).^3./R.^3-...
1./64.*u4.*cp.^2.*(2.*R.*u.^8+6.*u.^6.*R.^3+2.*u.^2.*R.^7+6.*u.^4.*R.^...
5)./u.^6./(R.^2+u.^2).^3./R.^3.*a).*b-1./64.*u4.*cp.^2.*(-8.*u.^10.*R.^...
2-24.*u.^8.*R.^4-8.*u.^4.*R.^8-24.*u.^6.*R.^6)./u.^6./(R.^2+u.^2).^3./...
R.^3.*vo.^2+(-1./64.*u4.*cp.^2.*(9.*u.^4.*R.^4+7.*u.^2.*R.^6+2.*R.^8)./...
u.^6./(R.^2+u.^2).^3./R.^3.*b.^2+((-1./64.*u4.*cp.^2.*(4.*u.^2.*R.^8+...
16.*u.^4.*R.^6+12.*u.^6.*R.^4)./u.^6./(R.^2+u.^2).^3./R.^3.*a-1./64.*...
u4.*cp.^2.*(16.*xo.*u.^8.*R.^4+32.*xo.*u.^6.*R.^6+16.*xo.*u.^4.*R.^8)./...
u.^6./(R.^2+u.^2).^3./R.^3).*b-1./64.*u4.*cp.^2.*(-2.*u.^2.*R.^7-8.*u.^...
4.*R.^5-6.*u.^6.*R.^3)./u.^6./(R.^2+u.^2).^3./R.^3.*b.^2-1./64.*u4.*cp.^...
2.*(-8.*xo.*u.^4.*R.^9-8.*xo.*u.^6.*R.^7+8.*xo.*u.^10.*R.^3+8.*xo.*u.^...
8.*R.^5)./u.^6./(R.^2+u.^2).^3./R.^3.*a+(-1./64.*u4.*cp.^2.*(16.*u.^6.*...
R.^6+8.*u.^4.*R.^8+8.*u.^8.*R.^4)./u.^6./(R.^2+u.^2).^3./R.^3.*a-1./64.*...
u4.*cp.^2.*(-16.*u.^6.*R.^5-8.*u.^8.*R.^3-8.*u.^4.*R.^7)./u.^6./(R.^2+...
u.^2).^3./R.^3.*b).*vo-1./64.*u4.*cp.^2.*(-2.*u.^4.*R.^7+2.*u.^8.*R.^...
3)./u.^6./(R.^2+u.^2).^3./R.^3.*a.^2).*To-1./64.*u4.*cp.^2.*(-8.*xo.*u.^...
6.*R.^6+4.*xo.*u.^4.*R.^8-12.*xo.*u.^8.*R.^4)./u.^6./(R.^2+u.^2).^3./R.^...
3.*a+(-1./64.*u4.*cp.^2.*(-8.*u.^6.*R.^5-4.*u.^8.*R.^3-4.*u.^4.*R.^7)./...
u.^6./(R.^2+u.^2).^3./R.^3.*a.*b-...
1./64.*u4.*cp.^2.*(-2.*u.^2.*R.^8-4.*u.^4.*R.^6- 2.*u.^6.*R.^...
4)./u.^6./(R.^2+u.^2).^3./R.^3.*b.^2-1./64.*u4.*cp.^2.*(2.*u.^4.*R.^8+...
2.*u.^8.*R.^4+4.*u.^6.*R.^6)./u.^6./(R.^2+u.^2).^3./R.^3.*a.^2).*To.^2-...
1./64.*u4.*cp.^2.*(-3.*u.^6.*R.^4+u.^4.*R.^6)./u.^6./(R.^2+u.^2).^3./R.^...
3.*a.^2+(-1./64.*u4.*cp.^2.*(24.*u.^4.*R.^6+16.*u.^6.*R.^4+8.*u.^2.*R.^...
8)./u.^6./(R.^2+u.^2).^3./R.^3.*b-1./64.*u4.*cp.^2.*(-16.*xo.*u.^4.*R.^...
9+16.*xo.*u.^8.*R.^5+16.*xo.*u.^10.*R.^3-16.*xo.*u.^6.*R.^7)./u.^6./(R.^...
2+u.^2).^3./R.^3-1./64.*u4.*cp.^2.*(-4.*u.^4.*R.^7+4.*u.^8.*R.^3)./u.^...
6./(R.^2+u.^2).^3./R.^3.*a).*vo+(-1./64.*u4.*cp.^2.*(-20.*xo.*u.^4.*R.^...
7-8.*xo.*u.^2.*R.^9+12.*xo.*u.^8.*R.^3)./u.^6./(R.^2+u.^2).^3./R.^3-1./...
64.*u4.*cp.^2.*(-2.*u.^2.*R.^7+4.*u.^6.*R.^3-6.*u.^4.*R.^5)./u.^6./(R.^...
2+u.^2).^3./R.^3.*a).*b-1./64.*u4.*cp.^2.*(16.*u.^6.*R.^6+8.*u.^4.*R.^8+...
8.*u.^8.*R.^4)./u.^6./(R.^2+u.^2).^3./R.^3.*vo.^2-1./64.*u4.*cp.^2.*(-...
40.*xo.^2.*u.^8.*R.^6+8.*R.^10.*xo.^2.*u.^4-24.*xo.^2.*u.^10.*R.^4-8.*...
xo.^2.*u.^6.*R.^8)./u.^6./(R.^2+u.^2).^3./R.^3).*cos(2.*u.*To)-1./64.*...
u4.*cp.^2.*(-3.*u.^6.*R.^4-u.^4.*R.^6-3.*u.^8.*R.^2-u.^10)./u.^6./(R.^2+...
u.^2).^3./R.^3.*a.^2+((-1./64.*u4.*cp.^2.*(-4.*u.^8.*R.^2-12.*u.^6.*R.^...
4-4.*u.^2.*R.^8-12.*u.^4.*R.^6)./u.^6./(R.^2+u.^2).^3./R.^3.*a-1./64.*...
u4.*cp.^2.*(24.*xo.*u.^8.*R.^4+8.*xo.*u.^4.*R.^8+24.*xo.*u.^6.*R.^6+8.*...
xo.*u.^10.*R.^2)./u.^6./(R.^2+u.^2).^3./R.^3).*b-1./64.*u4.*cp.^2.*(2.*...
R.*u.^8+6.*u.^6.*R.^3+2.*u.^2.*R.^7+6.*u.^4.*R.^5)./u.^6./(R.^2+u.^2).^...
3./R.^3.*b.^2-1./64.*u4.*cp.^2.*(24.*xo.*u.^6.*R.^7+24.*xo.*u.^8.*R.^5+...
8.*xo.*u.^4.*R.^9+8.*xo.*u.^10.*R.^3)./u.^6./(R.^2+u.^2).^3./R.^3.*a-1./...
64.*u4.*cp.^2.*(-8.*u.^10.*R.^2-24.*u.^8.*R.^4-8.*u.^4.*R.^8-24.*u.^6.*...
R.^6)./u.^6./(R.^2+u.^2).^3./R.^3.*a.*vo-1./64.*u4.*cp.^2.*(6.*u.^8.*R.^...
3+6.*u.^6.*R.^5+2.*u.^10.*R+2.*u.^4.*R.^7)./u.^6./(R.^2+u.^2).^3./R.^3.*...
a.^2).*To+(-1./64.*u4.*cp.^2.*(48.*xo.*u.^8.*R.^5+48.*xo.*u.^6.*R.^7+...
16.*xo.*u.^4.*R.^9+16.*xo.*u.^10.*R.^3)./u.^6./(R.^2+u.^2).^3./R.^3-1./...
64.*u4.*cp.^2.*(12.*u.^6.*R.^5+4.*u.^4.*R.^7+4.*u.^10.*R+12.*u.^8.*R.^...
3)./u.^6./(R.^2+u.^2).^3./R.^3.*a-1./64.*u4.*cp.^2.*(-8.*u.^8.*R.^2-24.*...
u.^4.*R.^6-8.*u.^2.*R.^8-24.*u.^6.*R.^4)./u.^6./(R.^2+u.^2).^3./R.^3.*...
b).*vo).*exp(2.*R.*To)-1./64.*u4.*cp.^2.*(8.*u.^6.*R.^6+8.*u.^10.*R.^2+...
16.*u.^8.*R.^4)./u.^6./(R.^2+u.^2).^3./R.^3.*vo.^2-1./64.*u4.*cp.^2.*...
(u.^10+6.*u.^6.*R.^4+3.*u.^8.*R.^2)./u.^6./(R.^2+u.^2).^3./R.^3.*a.^2-...
1./64.*u4.*cp.^2.*(24.*xo.*u.^8.*R.^4+20.*xo.*u.^6.*R.^6+4.*xo.*u.^10.*...
R.^2)./u.^6./(R.^2+u.^2).^3./R.^3.*a+(-1./64.*u4.*cp.^2.*(-12.*xo.*u.^...
6.*R.^5+4.*R.*xo.*u.^10-8.*xo.*u.^8.*R.^3)./u.^6./(R.^2+u.^2).^3./R.^3-...
1./64.*u4.*cp.^2.*(-10.*u.^6.*R.^3-2.*R.*u.^8)./u.^6./(R.^2+u.^2).^3./...
R.^3.*a).*b+(-1./64.*u4.*cp.^2.*(8.*u.^6.*R.^4+8.*u.^8.*R.^2)./u.^6./...
(R.^2+u.^2).^3./R.^3.*b-1./64.*u4.*cp.^2.*(-32.*xo.*u.^6.*R.^7-32.*xo.*...
u.^10.*R.^3-64.*xo.*u.^8.*R.^5)./u.^6./(R.^2+u.^2).^3./R.^3-1./64.*u4.*...
cp.^2.*(-16.*u.^8.*R.^3-4.*u.^10.*R-12.*u.^6.*R.^5)./u.^6./(R.^2+u.^2).^...
3./R.^3.*a).*vo-1./64.*u4.*cp.^2.*(u.^8+5.*u.^6.*R.^2)./u.^6./(R.^2+u.^...
2).^3./R.^3.*b.^2-1./64.*u4.*cp.^2.*(8.*xo.^2.*u.^12.*R.^2+40.*xo.^2.*...
u.^6.*R.^8+88.*xo.^2.*u.^8.*R.^6+56.*xo.^2.*u.^10.*R.^4)./u.^6./(R.^2+...
u.^2).^3./R.^3;
Pc2=((1./2.*u5.*cd.^2.*(1./16./R+1./16.*R./u.^2).*a.^2+1./2.*u5.*...
cd.^2.*(1./16.*R./u.^4+1./16./R./u.^2).*b.^2).*To.^2+((1./2.*u5.*cd.^2.*...
(1./16.*(-2.*R.^3.*u.^4-2.*u.^6.*R-2.*R.^7-2.*R.^5.*u.^2)./(R.^2+u.^2).^...
3./u.^5-1./32.*(8.*u.^3.*R.^5+8.*u.^5.*R.^3)./(R.^2+u.^2).^3./u.^6).*b.^...
2+(1./2.*u5.*cd.^2.*(-1./32.*(-4.*u.^7.*R.^2+4.*u.^9-4.*u.^5.*R.^4+4.*...
u.^3.*R.^6)./(R.^2+u.^2).^3./u.^6+1./16.*(-2.*u.^4.*R.^4+2.*u.^8-2.*u.^...
6.*R.^2+2.*u.^2.*R.^6)./(R.^2+u.^2).^3./u.^5).*a+1./2.*u5.*cd.^2.*(-1./...
32.*(-24.*xo.*u.^7.*R.^4-24.*u.^9.*xo.*R.^2-8.*xo.*u.^5.*R.^6-8.*u.^11.*...
xo)./(R.^2+u.^2).^3./u.^6+1./16.*(12.*xo.*u.^4.*R.^6+4.*xo.*u.^8.*R.^2+...
12.*xo.*u.^6.*R.^4+4.*xo.*u.^2.*R.^8)./(R.^2+u.^2).^3./u.^5)).*b+(1./2.*...
u5.*cd.^2.*(-1./32.*(8.*u.^5.*R.^6+8.*u.^7.*R.^4-8.*u.^9.*R.^2-8.*u.^...
11)./(R.^2+u.^2).^3./u.^6+1./16.*(16.*u.^6.*R.^4+8.*u.^4.*R.^6+8.*u.^8.*...
R.^2)./(R.^2+u.^2).^3./u.^5).*a+1./2.*u5.*cd.^2.*(-1./32.*(16.*u.^9.*R+...
32.*u.^7.*R.^3+16.*u.^5.*R.^5)./(R.^2+u.^2).^3./u.^6+1./16.*(4.*R.*u.^8-...
4.*u.^2.*R.^7-4.*u.^4.*R.^5+4.*u.^6.*R.^3)./(R.^2+u.^2).^3./u.^5).*b).*...
vo+1./2.*u5.*cd.^2.*(1./16.*(4.*u.^6.*R.^3+4.*R.*u.^8)./(R.^2+u.^2).^3./...
u.^5-1./32.*(8.*u.^7.*R.^3+8.*u.^9.*R)./(R.^2+u.^2).^3./u.^6).*a.^2+1./...
2.*u5.*cd.^2.*(-1./32.*(-24.*xo.*u.^9.*R.^3-8.*u.^11.*xo.*R-24.*xo.*u.^...
7.*R.^5-8.*xo.*u.^5.*R.^7)./(R.^2+u.^2).^3./u.^6+1./16.*(-4.*R.*xo.*u.^...
10-12.*xo.*u.^6.*R.^5-12.*xo.*u.^8.*R.^3-4.*xo.*u.^4.*R.^7)./(R.^2+u.^...
2).^3./u.^5).*a).*To+1./2.*u5.*cd.^2.*(1./16.*(2.*xo.*u.^4.*R.^6-2.*u.^...
10.*xo+2.*xo.*u.^6.*R.^4-2.*xo.*u.^8.*R.^2)./(R.^2+u.^2).^3./u.^5-1./...
32.*(-8.*xo.*u.^7.*R.^4-8.*u.^11.*xo-16.*u.^9.*xo.*R.^2)./(R.^2+u.^2).^...
3./u.^6).*a+1./2.*u5.*cd.^2.*(-1./32.*(8.*u.^5.*R.^6+8.*u.^7.*R.^4-8.*...
u.^9.*R.^2-8.*u.^11)./(R.^2+u.^2).^3./u.^6+1./16.*(16.*u.^6.*R.^4+8.*u.^...
4.*R.^6+8.*u.^8.*R.^2)./(R.^2+u.^2).^3./u.^5).*vo.^2+(1./2.*u5.*cd.^2.*...
(-1./32.*(16.*u.^7.*R.^3+16.*u.^9.*R)./(R.^2+u.^2).^3./u.^6+1./16.*(8.*...
u.^6.*R.^3+8.*R.*u.^8)./(R.^2+u.^2).^3./u.^5).*a+1./2.*u5.*cd.^2.*(1./...
16.*(6.*u.^4.*R.^4+2.*u.^6.*R.^2+2.*u.^8+6.*u.^2.*R.^6)./(R.^2+u.^2).^...
3./u.^5-1./32.*(-8.*u.^7.*R.^2+8.*u.^3.*R.^6)./(R.^2+u.^2).^3./u.^6).*b+...
1./2.*u5.*cd.^2.*(-1./32.*(-16.*xo.*u.^5.*R.^7-16.*u.^11.*xo.*R-48.*xo.*...
u.^9.*R.^3-48.*xo.*u.^7.*R.^5)./(R.^2+u.^2).^3./u.^6+1./16.*(-8.*xo.*u.^...
4.*R.^7-24.*xo.*u.^6.*R.^5-24.*xo.*u.^8.*R.^3-8.*R.*xo.*u.^10)./(R.^2+...
u.^2).^3./u.^5)).*vo+(1./2.*u5.*cd.^2.*(1./16.*(-3.*u.^6.*R+4.*R.^3.*u.^...
4-R.^5.*u.^2)./(R.^2+u.^2).^3./u.^5-1./32.*(-4.*u.^7.*R+12.*u.^5.*R.^...
3)./(R.^2+u.^2).^3./u.^6).*a+1./2.*u5.*cd.^2.*(-1./32.*(-8.*u.^3.*xo.*...
R.^7-16.*u.^5.*xo.*R.^5-8.*u.^7.*xo.*R.^3)./(R.^2+u.^2).^3./u.^6+1./16.*...
(-2.*xo.*u.^4.*R.^5-2.*xo.*u.^2.*R.^7+2.*xo.*u.^6.*R.^3+2.*xo.*u.^8.*...
R)./(R.^2+u.^2).^3./u.^5)).*b+(1./2.*u5.*cd.^2.*(1./16.*(2.*R.*u.^8-2.*...
u.^2.*R.^7+2.*u.^6.*R.^3-2.*u.^4.*R.^5)./(R.^2+u.^2).^3./u.^5-1./32.*...
(8.*u.^5.*R.^5+16.*u.^7.*R.^3+8.*u.^9.*R)./(R.^2+u.^2).^3./u.^6).*a.*b+...
1./2.*u5.*cd.^2.*(-1./32.*(2.*u.^7.*R.^4-2.*u.^11-2.*u.^9.*R.^2+2.*u.^...
5.*R.^6)./(R.^2+u.^2).^3./u.^6+1./16.*(2.*u.^4.*R.^6+4.*u.^6.*R.^4+2.*...
u.^8.*R.^2)./(R.^2+u.^2).^3./u.^5).*a.^2+1./2.*u5.*cd.^2.*(1./16.*(-2.*...
u.^2.*R.^6-2.*u.^6.*R.^2-4.*u.^4.*R.^4)./(R.^2+u.^2).^3./u.^5-1./32.*...
(2.*u.^7.*R.^2+2.*u.^9-2.*u.^5.*R.^4-2.*u.^3.*R.^6)./(R.^2+u.^2).^3./u.^...
6).*b.^2).*To.^2+1./2.*u5.*cd.^2.*(1./16.*(R.^6+2.*R.^2.*u.^4-R.^4.*u.^...
2)./(R.^2+u.^2).^3./u.^5-1./32.*(2.*u.^5.*R.^2-u.^7-3.*u.^3.*R.^4+2.*u.*...
R.^6)./(R.^2+u.^2).^3./u.^6).*b.^2+1./2.*u5.*cd.^2.*(-1./32.*(-4.*u.^7.*...
R.^2+3.*u.^9+u.^5.*R.^4)./(R.^2+u.^2).^3./u.^6+1./16.*(-3.*u.^6.*R.^2+...
u.^8)./(R.^2+u.^2).^3./u.^5).*a.^2-1./64.*u5.*cd.^2.*(8.*u.^13.*xo.^2+...
32.*u.^11.*xo.^2.*R.^2+48.*u.^9.*xo.^2.*R.^4+32.*u.^7.*xo.^2.*R.^6+8.*...
u.^5.*xo.^2.*R.^8)./(R.^2+u.^2).^3./u.^6).*sin(2.*u.*To)+(1./2.*u5.*cd.^...
2.*(-1./16./R.^2./u.^2+1./16./u.^4).*b.^2+(1./2.*u5.*cd.^2.*(1./8./R./...
u.^2+1./8.*R./u.^4).*a+1./2.*u5.*cd.^2.*(-1./4.*xo.*R./u.^2-1./4./R.*...
xo)).*b+1./2.*u5.*cd.^2.*(1./4./R+1./4.*R./u.^2).*a.*vo+1./2.*u5.*cd.^...
2.*(-1./16./R.^2+1./16./u.^2).*a.^2+...
1./2.*u5.*cd.^2.*(-1./4.*xo-1./4.*R.^2.*xo./u.^2).*a).*To+1./2.*...
u5.*cd.^2.*(1./32./R.^3+1./32./R./u.^2).*a.^2+1./2.*u5.*cd.^2.*(-1./8.*...
xo.*R./u.^2-1./8./R.*xo).*a+1./2.*u5.*cd.^2.*(-1./32./R./u.^4+1./16.*R./...
u.^6+1./32./R.^3./u.^2).*b.^2+1./2.*u5.*cd.^2.*(1./4./R+1./4.*R./u.^2).*...
vo.^2+(1./2.*u5.*cd.^2.*(-1./32.*(8.*u.^4.*R.^7-8.*u.^8.*R.^3+8.*u.^6.*...
R.^5-8.*u.^10.*R)./(R.^2+u.^2).^3./u.^6+1./16.*(-8.*u.^5.*R.^5-8.*u.^9.*...
R-16.*u.^7.*R.^3)./(R.^2+u.^2).^3./u.^5).*vo.^2+(1./2.*u5.*cd.^2.*(1./...
16.*(4.*u.^5.*R.^4-4.*u.^9)./(R.^2+u.^2).^3./u.^5-1./32.*(4.*u.^4.*R.^6+...
12.*u.^8.*R.^2+20.*u.^6.*R.^4-4.*u.^10)./(R.^2+u.^2).^3./u.^6).*a+1./2.*...
u5.*cd.^2.*(-1./32.*(8.*R.*u.^8+8.*u.^6.*R.^3+8.*u.^2.*R.^7+8.*u.^4.*R.^...
5)./(R.^2+u.^2).^3./u.^6+1./16.*(-8.*u.^5.*R.^3-8.*u.^3.*R.^5)./(R.^2+...
u.^2).^3./u.^5).*b+1./2.*u5.*cd.^2.*(-1./32.*(-48.*xo.*u.^8.*R.^4-16.*...
xo.*u.^4.*R.^8-48.*xo.*u.^6.*R.^6-16.*xo.*u.^10.*R.^2)./(R.^2+u.^2).^3./...
u.^6+1./16.*(8.*xo.*u.^5.*R.^6+8.*u.^11.*xo+24.*u.^9.*xo.*R.^2+24.*xo.*...
u.^7.*R.^4)./(R.^2+u.^2).^3./u.^5)).*vo+(1./2.*u5.*cd.^2.*(1./16.*(3.*...
u.^3.*R.^4+u.^7-4.*u.^5.*R.^2)./(R.^2+u.^2).^3./u.^5-1./32.*(2.*u.^2.*...
R.^6+10.*u.^4.*R.^4+2.*u.^8-6.*u.^6.*R.^2)./(R.^2+u.^2).^3./u.^6).*a+1./...
2.*u5.*cd.^2.*(-1./32.*(-8.*xo.*u.^2.*R.^8-4.*u.^10.*xo-20.*xo.*u.^4.*...
R.^6-12.*xo.*u.^8.*R.^2-20.*xo.*u.^6.*R.^4)./(R.^2+u.^2).^3./u.^6+1./...
16.*(8.*u.^5.*xo.*R.^4+4.*u.^7.*xo.*R.^2+4.*u.^3.*R.^6.*xo)./(R.^2+u.^...
2).^3./u.^5)).*b+1./2.*u5.*cd.^2.*(-1./32.*(2.*R.^7+R.^5.*u.^2-u.^6.*R+...
6.*R.^3.*u.^4)./(R.^2+u.^2).^3./u.^6+1./16.*(u.^3.*R.^3-2.*u.*R.^5-u.^...
5.*R)./(R.^2+u.^2).^3./u.^5).*b.^2-1./64.*u5.*cd.^2.*(8.*xo.^2.*u.^4.*...
R.^9+8.*R.*xo.^2.*u.^12+32.*xo.^2.*u.^6.*R.^7+48.*xo.^2.*u.^8.*R.^5+32.*...
xo.^2.*u.^10.*R.^3)./(R.^2+u.^2).^3./u.^6+(1./2.*u5.*cd.^2.*(1./16.*(2.*...
u.^3.*R.^6+2.*u.^5.*R.^4-2.*u.^7.*R.^2-2.*u.^9)./(R.^2+u.^2).^3./u.^5-...
1./32.*(16.*u.^6.*R.^4+8.*u.^4.*R.^6+8.*u.^8.*R.^2)./(R.^2+u.^2).^3./u.^...
6).*a.*b+1./2.*u5.*cd.^2.*(-1./32.*(2.*u.^6.*R.^5-2.*u.^10.*R+2.*u.^4.*...
R.^7-2.*u.^8.*R.^3)./(R.^2+u.^2).^3./u.^6+1./16.*(-2.*u.^9.*R-4.*u.^7.*...
R.^3-2.*u.^5.*R.^5)./(R.^2+u.^2).^3./u.^5).*a.^2+1./2.*u5.*cd.^2.*(1./...
16.*(2.*u.^3.*R.^5+2.*u.^7.*R+4.*u.^5.*R.^3)./(R.^2+u.^2).^3./u.^5-1./...
32.*(2.*R.*u.^8-2.*u.^2.*R.^7+2.*u.^6.*R.^3-2.*u.^4.*R.^5)./(R.^2+u.^...
2).^3./u.^6).*b.^2).*To.^2+1./2.*u5.*cd.^2.*(1./16.*(-u.^5.*R.^3+3.*u.^...
7.*R)./(R.^2+u.^2).^3./u.^5-1./32.*(7.*R.*u.^8+u.^4.*R.^5)./(R.^2+u.^...
2).^3./u.^6).*a.^2+(1./2.*u5.*cd.^2.*(1./16.*(-2.*u.^5.*R.^2+2.*u.*R.^...
6)./(R.^2+u.^2).^3./u.^5-1./32.*(6.*u.^4.*R.^4+2.*u.^6.*R.^2+2.*u.^8+6.*...
u.^2.*R.^6)./(R.^2+u.^2).^3./u.^6).*b.^2+(1./2.*u5.*cd.^2.*(-1./32.*...
(12.*u.^6.*R.^3+4.*u.^2.*R.^7+12.*R.*u.^8+4.*u.^4.*R.^5)./(R.^2+u.^2).^...
3./u.^6+1./16.*(-4.*u.^3.*R.^5+4.*u.^7.*R)./(R.^2+u.^2).^3./u.^5).*a+1./...
2.*u5.*cd.^2.*(-1./32.*(-8.*xo.*u.^4.*R.^7-24.*xo.*u.^6.*R.^5-24.*xo.*...
u.^8.*R.^3-8.*R.*xo.*u.^10)./(R.^2+u.^2).^3./u.^6+1./16.*(-12.*u.^7.*...
xo.*R.^3-4.*u.^9.*R.*xo-12.*u.^5.*xo.*R.^5-4.*u.^3.*xo.*R.^7)./(R.^2+u.^...
2).^3./u.^5)).*b+(1./2.*u5.*cd.^2.*(-1./32.*(8.*u.^4.*R.^7-8.*u.^8.*R.^...
3+8.*u.^6.*R.^5-8.*u.^10.*R)./(R.^2+u.^2).^3./u.^6+1./16.*(-8.*u.^5.*R.^...
5-8.*u.^9.*R-16.*u.^7.*R.^3)./(R.^2+u.^2).^3./u.^5).*a+1./2.*u5.*cd.^2.*...
(-1./32.*(16.*u.^4.*R.^6+32.*u.^6.*R.^4+16.*u.^8.*R.^2)./(R.^2+u.^2).^...
3./u.^6+1./16.*(-4.*u.^7.*R.^2-4.*u.^9+4.*u.^5.*R.^4+4.*u.^3.*R.^6)./...
(R.^2+u.^2).^3./u.^5).*b).*vo+1./2.*u5.*cd.^2.*(1./16.*(2.*u.^5.*R.^4-...
2.*u.^9)./(R.^2+u.^2).^3./u.^5-1./32.*(10.*u.^6.*R.^4+2.*u.^4.*R.^6+6.*...
u.^8.*R.^2-2.*u.^10)./(R.^2+u.^2).^3./u.^6).*a.^2+1./2.*u5.*cd.^2.*(-1./...
32.*(-24.*xo.*u.^8.*R.^4-8.*xo.*u.^4.*R.^8-24.*xo.*u.^6.*R.^6-8.*xo.*u.^...
10.*R.^2)./(R.^2+u.^2).^3./u.^6+1./16.*(12.*u.^9.*xo.*R.^2+4.*u.^11.*xo+...
4.*xo.*u.^5.*R.^6+12.*xo.*u.^7.*R.^4)./(R.^2+u.^2).^3./u.^5).*a).*To+1./...
2.*u5.*cd.^2.*(-1./32.*(-20.*xo.*u.^6.*R.^5-12.*R.*xo.*u.^10-4.*xo.*u.^...
4.*R.^7-28.*xo.*u.^8.*R.^3)./(R.^2+u.^2).^3./u.^6+1./16.*(-4.*u.^9.*R.*...
xo-8.*u.^7.*xo.*R.^3-4.*u.^5.*xo.*R.^5)./(R.^2+u.^2).^3./u.^5).*a).*...
cos(2.*u.*To)+...
(1./2.*u5.*cd.^2.*(1./8./u.^2-1./8./R.^2).*a+1./8.*u5.*cd.^2.*...
R./u.^4.*b+1./2.*u5.*cd.^2.*(-1./2.*xo-1./2.*R.^2.*xo./u.^2)).*vo+1./2.*...
u5.*cd.^2.*(1./2.*xo.^2.*R+1./4.*R.^3.*xo.^2./u.^2+1./4./R.*xo.^2.*u.^...
2)+(1./2.*u5.*cd.^2.*(-1./16./R.^2./u.^2+1./16./u.^4).*a+1./2.*u5.*cd.^...
2.*(-1./8.*xo./u.^2-1./4.*R.^2.*xo./u.^4+1./8.*xo./R.^2)).*b).*exp(2.*...
R.*To)+1./2.*u5.*cd.^2.*(-1./32.*(-8.*u.^6.*R.^5+8.*u.^8.*R.^3+8.*u.^...
10.*R-8.*u.^4.*R.^7)./(R.^2+u.^2).^3./u.^6-1./4.*R./u.^2+1./16.*(8.*u.^...
5.*R.^5+16.*u.^7.*R.^3+8.*u.^9.*R)./(R.^2+u.^2).^3./u.^5-1./4./R).*vo.^...
2+(1./2.*u5.*cd.^2.*(-1./32.*(-4.*u.^4.*R.^6+4.*u.^10-12.*u.^8.*R.^2-...
20.*u.^6.*R.^4)./(R.^2+u.^2).^3./u.^6+1./16.*(-4.*u.^5.*R.^4+4.*u.^9)./...
(R.^2+u.^2).^3./u.^5+1./8./R.^2-1./8./u.^2).*a+1./2.*u5.*cd.^2.*(1./16.*...
(8.*u.^3.*R.^5+8.*u.^5.*R.^3)./(R.^2+u.^2).^3./u.^5-1./4.*R./u.^4-1./...
32.*(-8.*u.^6.*R.^3-8.*u.^2.*R.^7-8.*R.*u.^8-8.*u.^4.*R.^5)./(R.^2+u.^...
2).^3./u.^6).*b+1./2.*u5.*cd.^2.*(1./16.*(-24.*xo.*u.^7.*R.^4-24.*u.^9.*...
xo.*R.^2-8.*xo.*u.^5.*R.^6-8.*u.^11.*xo)./(R.^2+u.^2).^3./u.^5-1./32.*...
(48.*xo.*u.^6.*R.^6+48.*xo.*u.^8.*R.^4+16.*xo.*u.^10.*R.^2+16.*xo.*u.^...
4.*R.^8)./(R.^2+u.^2).^3./u.^6+1./2.*R.^2.*xo./u.^2+1./2.*xo)).*vo+1./...
2.*u5.*cd.^2.*(-1./32.*(20.*xo.*u.^6.*R.^5+4.*xo.*u.^4.*R.^7+12.*R.*xo.*...
u.^10+28.*xo.*u.^8.*R.^3)./(R.^2+u.^2).^3./u.^6+1./16.*(8.*u.^7.*xo.*R.^...
3+4.*u.^9.*R.*xo+4.*u.^5.*xo.*R.^5)./(R.^2+u.^2).^3./u.^5+1./8./R.*xo+...
1./8.*xo.*R./u.^2).*a+1./2.*u5.*cd.^2.*(1./16.*(u.^5.*R+2.*u.*R.^5-u.^...
3.*R.^3)./(R.^2+u.^2).^3./u.^5-1./16.*R./u.^6-1./32.*(-6.*R.^3.*u.^4+u.^...
6.*R-2.*R.^7-R.^5.*u.^2)./(R.^2+u.^2).^3./u.^6-1./32./R.^3./u.^2+1./32./...
R./u.^4).*b.^2+(1./2.*u5.*cd.^2.*(1./16.*(-3.*u.^3.*R.^4+4.*u.^5.*R.^2-...
u.^7)./(R.^2+u.^2).^3./u.^5+1./16./R.^2./u.^2-1./16./u.^4-1./32.*(-10.*...
u.^4.*R.^4+6.*u.^6.*R.^2-2.*u.^2.*R.^6-2.*u.^8)./(R.^2+u.^2).^3./u.^6).*...
a+1./2.*u5.*cd.^2.*(-1./8.*xo./R.^2-1./32.*(8.*xo.*u.^2.*R.^8+4.*u.^10.*...
xo+20.*xo.*u.^4.*R.^6+20.*xo.*u.^6.*R.^4+12.*xo.*u.^8.*R.^2)./(R.^2+u.^...
2).^3./u.^6+1./16.*(-8.*u.^5.*xo.*R.^4-4.*u.^7.*xo.*R.^2-4.*u.^3.*R.^6.*...
xo)./(R.^2+u.^2).^3./u.^5+1./8.*xo./u.^2+1./4.*R.^2.*xo./u.^4)).*b+1./...
2.*u5.*cd.^2.*(-1./32.*(-u.^4.*R.^5-7.*R.*u.^8)./(R.^2+u.^2).^3./u.^6-...
1./32./R.^3-1./32./R./u.^2+1./16.*(u.^5.*R.^3-3.*u.^7.*R)./(R.^2+u.^2).^...
3./u.^5).*a.^2+1./2.*u5.*cd.^2.*(-1./4.*R.^3.*xo.^2./u.^2-1./4./R.*xo.^...
2.*u.^2-1./2.*xo.^2.*R-1./32.*(-8.*xo.^2.*u.^4.*R.^9-48.*xo.^2.*u.^8.*...
R.^5-32.*xo.^2.*u.^10.*R.^3-32.*xo.^2.*u.^6.*R.^7-8.*R.*xo.^2.*u.^12)./...
(R.^2+u.^2).^3./u.^6);
Pc=Pc1+Pc2;
else
Pc = zeros(size(Et));
end
end
function ComputePo
if sum(sys.Type==[0 4 5 6])==0,
%Open loop control energy
Po=(1./8.*u3./u.^2./R.*b.^2+(-1./8.*u3./u./(R.^2+u.^2).*b.^2+1./4.*...
u3.*R./u./(R.^2+u.^2).*a.*b+1./8.*u3.*u./(R.^2+u.^2).*a.^2).*sin(2.*u.*...
To)+(-1./8.*u3.*R./u.^2./(R.^2+u.^2).*b.^2-1./4.*u3./(R.^2+u.^2).*a.*b+...
1./8.*u3.*R./(R.^2+u.^2).*a.^2).*cos(2.*u.*To)+1./8.*u3.*(u.^2.*R.^2+u.^...
4)./u.^2./(R.^2+u.^2)./R.*a.^2).*exp(2.*R.*To)+1./4.*u3./(R.^2+u.^2).*...
a.*b+1./8.*u3.*(-2.*u.^2.*R.^2-u.^4)./u.^2./(R.^2+u.^2)./R.*a.^2-1./8.*...
u3./(R.^2+u.^2)./R.*b.^2;
else
Po = zeros(size(Et));
end
end
end
%%% DELAYED SUBFUNCTION
function [P,E,Po,Pc] = del_performance(sys, modal)
[t W dW Z dZ] = response(sys);
n = (1:length(sys.xo)).';
%Compute dependent and IOL relations
N = 1:length(sys.xo);
wo = (N*pi).^2*sys.Alpha;
R = -sys.Gamma*wo - sys.cd/2;
u = sqrt(wo.^2 + sys.cp - R.^2);
lambda = -2*sys.Gamma*wo;
% Compute open loop relations
if sys.IOL
Ro = -sys.Gamma*wo;
uo = sqrt(wo.^2 - Ro.^2);
else
Ro = R;
uo = u;
end
%Generating Terminal Energy
z2 = Z.^2;
dz2 = dZ.^2;
E = (sys.uu(1)*z2(end,:) + sys.uu(2)*dz2(end,:))/2;
%%Adjust inputs to correct length
Nt = length(t); % Number of discrete time terms
Nx = length(sys.xo); % Number of initial modes specified
tt= t(:)';
if Nx>1
sys.a = repmat(sys.a(:), 1, Nt);
sys.b = repmat(sys.b(:), 1, Nt);
u = repmat(u(:), 1, Nt);
R = repmat(R(:), 1, Nt);
uo = repmat(uo(:), 1, Nt);
Ro = repmat(Ro(:), 1, Nt);
t = repmat(tt, Nx, 1);
end
if sys.IOL
Q2 = (exp(R.*t).*(sys.b./u.*sin(u.*t)+sys.a.*cos(u.*t))).^2;%Integrand
else
Q2 = (exp(Ro.*t).*(sys.b./uo.*sin(uo.*t) + sys.a.*cos(uo.*t))).^2;%Integrand
end
Po = sys.uu(3)/2*trapz(tt, Q2,2)';%Integration
%Generating Closed-Loop Energy
Pc = sys.uu(4)/2*sys.cp.^2.*trapz(tt(tt>sys.T), Z(tt>sys.T,:).^2,1);%Integration;
Pc = Pc + sys.uu(5)/2*sys.cd.^2.*trapz(tt(tt>sys.T), dZ(tt>sys.T,:).^2,1);%Integration;
%Total Energy
P = E + Po + Pc;
if ~modal && Nx>1,
P = sum(P, 2);
E = sum(E, 2);
Po = sum(Po, 2);
Pc = sum(Pc, 2);
end
end