changeset 10192:dfd69ee683a8 octave-forge

control-devel: clean up example
author paramaniac
date Tue, 08 May 2012 09:18:11 +0000
parents bd0ba1979a13
children 638a0fc040f0
files extra/control-devel/devel/HeatingSystem.m extra/control-devel/devel/ident.m
diffstat 2 files changed, 12 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/extra/control-devel/devel/HeatingSystem.m	Tue May 08 08:22:45 2012 +0000
+++ b/extra/control-devel/devel/HeatingSystem.m	Tue May 08 09:18:11 2012 +0000
@@ -75,29 +75,22 @@
                          'outunit', '°C')
 
 % s=15, n=7
-sys = arx (dat, 7, 7)       % normally na = nb
+[sys1, x0] = ident (dat, 15, 7)
+sys2 = arx (dat, 7, 7)       % normally na = nb
 
-[y, t] = lsim (sys(:, 1), U);
+[y1, t1] = lsim (sys1, U, [], x0);
+[y2, t] = lsim (sys2(:, 1), U);
 
-
-err = norm (Y - y, 1) / norm (Y, 1)
+err1 = norm (Y - y1, 1) / norm (Y, 1)
+err2 = norm (Y - y2, 1) / norm (Y, 1)
 
 figure (1)
-plot (t, Y(:,1), 'b', t, y(:,1), 'r')
+plot (t, Y, t, y1, t, y2)
 title ('DaISy: Heating System [99-001]')
-legend ('measured temperature', 'simulated temperature', 'location', 'southeast')
-
-
-[sys2, x0] = ident (dat, 15, 7)
-
-[y2, t2] = lsim (sys2, U, [], x0);
-
-err2 = norm (Y - y2, 1) / norm (Y, 1)
-
-figure (2)
-plot (t, Y, 'b', t, y, 'r', t, y2, 'g')
-title ('DaISy: Heating System [99-001]')
-legend ('measured temperature', 'simulated temperature', 'slicot', 'location', 'southeast')
+xlim ([t(1), t(end)])
+xlabel ('Time [s]')
+ylabel ('Temperature [Degree Celsius]')
+legend ('measured', 'simulated subspace', 'simulated ARX', 'location', 'southeast')
 
 
 
--- a/extra/control-devel/devel/ident.m	Tue May 08 08:22:45 2012 +0000
+++ b/extra/control-devel/devel/ident.m	Tue May 08 09:18:11 2012 +0000
@@ -49,6 +49,6 @@
 %nobr = 10
   [a, b, c, d, q, ry, s, k, x0] = slident (dat.y{1}, dat.u{1}, nobr, n, meth, alg, jobd, batch, conct, ctrl, rcond, tol);
 
-  sys = ss (a, b, c, d, -1);
+  sys = ss (a, b, c, d, dat.tsam{1});
 
 endfunction