function G1=mpower(G,n) % mpower - power of an FOTF object % % G1=G^n % % G - an FOTF object % n - power. If G is s or constant, n can be any real number, % If G is an FOSS, n should be integers % G1 - returns G^n, and an FOSS object % Copyright (c) Dingyu Xue, Northeastern University, China % Last modified 28 March, 2017 % Last modified 18 May, 2022 [n1,m1]=size(G); if n==fix(n) if n1==m1 if n>=0, G1=fotf(eye(n1)); for i=1:n, G1=G1*G; end else, G1=inv(G)^(-n); end elseif n==1, G1=G; else, error('G must be a square matrix'); end elseif n1==1 && m1==1 if length(G.num)==1 && length(G.den)==1 [a,na,b,nb,L]=fotfdata(G); G1=fotf(a^n,na*n,b^n,nb*n,L*n); else, error('mpower: power must be an integer.'); end else, error('mpower: power must be an integer.'); end end