From: <par...@us...> - 2010-09-15 20:07:24
|
Revision: 7733 http://octave.svn.sourceforge.net/octave/?rev=7733&view=rev Author: paramaniac Date: 2010-09-15 20:07:18 +0000 (Wed, 15 Sep 2010) Log Message: ----------- control: preliminary work for descriptor state-space models Modified Paths: -------------- trunk/octave-forge/main/control/inst/@lti/dssdata.m trunk/octave-forge/main/control/inst/@ss/__freqresp__.m Modified: trunk/octave-forge/main/control/inst/@lti/dssdata.m =================================================================== --- trunk/octave-forge/main/control/inst/@lti/dssdata.m 2010-09-15 19:55:22 UTC (rev 7732) +++ trunk/octave-forge/main/control/inst/@lti/dssdata.m 2010-09-15 20:07:18 UTC (rev 7733) @@ -37,7 +37,7 @@ if (isempty (flg)) # dssdata (sys, []) e = []; # don't return eye for ss models else # dssdata (sys) - e = eye (size (a)); # descriptor model + e = eye (size (a)); # return eye for ss models endif tsam = sys.tsam; Modified: trunk/octave-forge/main/control/inst/@ss/__freqresp__.m =================================================================== --- trunk/octave-forge/main/control/inst/@ss/__freqresp__.m 2010-09-15 19:55:22 UTC (rev 7732) +++ trunk/octave-forge/main/control/inst/@ss/__freqresp__.m 2010-09-15 20:07:18 UTC (rev 7733) @@ -1,4 +1,4 @@ -## Copyright (C) 2009 Lukas F. Reichlin +## Copyright (C) 2009 - 2010 Lukas F. Reichlin ## ## This file is part of LTI Syncope. ## @@ -20,13 +20,13 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: October 2009 -## Version: 0.1 +## Version: 0.2 function H = __freqresp__ (sys, w, resptype = 0) [p, m] = size (sys); - [A, B, C, D, Ts] = ssdata (sys); - I = eye (size (A)); + [A, B, C, D, E, Ts] = dssdata (sys); + J = eye (m); if (resptype != 0 && m != p) @@ -45,22 +45,22 @@ switch (resptype) case 0 # default system for k = 1 : l_s - H(:, :, k) = C * inv (s(k)*I - A) * B + D; + H(:, :, k) = C * inv (s(k)*E - A) * B + D; endfor case 1 # inversed system for k = 1 : l_s - H(:, :, k) = inv (C * inv (s(k)*I - A) * B + D); + H(:, :, k) = inv (C * inv (s(k)*E - A) * B + D); endfor case 2 # inversed sensitivity for k = 1 : l_s - H(:, :, k) = J + C * inv (s(k)*I - A) * B + D; + H(:, :, k) = J + C * inv (s(k)*E - A) * B + D; endfor case 3 # inversed complementary sensitivity for k = 1 : l_s - H(:, :, k) = J + inv (C * inv (s(k)*I - A) * B + D); + H(:, :, k) = J + inv (C * inv (s(k)*E - A) * B + D); endfor otherwise This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |