1. Using MATLAB to convert from State Space to Transfer Function Models - SS2TF
State Space Model
a =
-0.4000 0.3000
3.0000 -4.5000
b =
0 -7.5000 0.1000 0
50.0000 0 0 1.5000
c =
1 0
0 1
d =
0 0 0 0
0 0 0 0
Find transfer function polynomials for input 1
[num1,den] = ss2tf(a,b,c,d,1)
num1 =
0 0.0000 15.0000
0 50.0000 20.0000
den =
1.0000 4.9000 0.9000
Find tranfer function polynomials for input 2
[num2,den] = ss2tf(a,b,c,d,2)
num2 =
0 -7.5000 -33.7500
0 -0.0000 -22.5000
den =
1.0000 4.9000 0.9000
Find tranfer function polynomials for input 3
[num3,den] = ss2tf(a,b,c,d,3)
num3 =
0 0.1000 0.4500
0 0.0000 0.3000
den =
1.0000 4.9000 0.9000
Find tranfer function polynomials for input 4
[num4,den] = ss2tf(a,b,c,d,4)
num4 =
0 0.0000 0.4500
0 1.5000 0.6000
den =
1.0000 4.9000 0.9000
Eigenvalues and Eigenvectors
[v,lambda] = eig(a)
v =
0.8207 -0.0695
0.5714 0.9976
lambda =
-0.1911 0
0 -4.7089
2. MATLAB function routine for nonlinear heater model
%
function xdot = heater(t,x);
%
% Dynamics of a stirred tank heater
% (c) 1994 - B.W. Bequette
% 8 July 94
%
% x(1) = T = temperature in tank
% x(2) = Tj = temperature in jacket
% delFj = change in jacket flowrate
% F = Tank flowrate
% Tin = Tank inlet temperature
% Tji = Jacket inlet temperature
% V = Tank volume
% Vj = Jacket volume
% rhocp = density*heat capacity
% rhocpj = density*heat capacity,jacket fluid
%
% parameter and steady-state variable values are:
%
F = 1;
Fjs = 1.5;
Ti = 50;
Tji = 200;
V = 10;
Vj = 1;
rhocp = 61.3;
rhocpj= 61.3;
UA = 183.9;
%
delFj = -0.1;
Fj = Fjs + delFj;
T = x(1);
Tj= x(2);
%
% odes
%
dTdt = (F/V)*(Ti - T) + UA*(Tj - T)/(V*rhocp);
dTjdt = (Fj/Vj)*(Tji - Tj) - UA*(Tj - T)/(Vj*rhocpj);
xdot(1) = dTdt;
xdot(2) = dTjdt;
Figure 7a is obtained using the following commands
x0 = [124.6525;154.9880];
[t,x] = ode45('heater',0,5,x0);
plot(t,x(:,1))