Code covered by the BSD License  

Highlights from
NelinSys

image thumbnail
from NelinSys by Martin Ondera
A program tool for analysis and synthesis of nonlinear control systems based on MATLAB/Simulink 5.2

lineariz_mimo(t,x,u,flag,n,nout,vzorec)
function [sys,x0,str,ts] = lineariz_mimo(t,x,u,flag,n,nout,vzorec)

% NelinSys - a program tool for analysis and synthesis of nonlinear control systems
%            based on MATLAB/Simulink 5.2
%
% (C) 2002-2005, Martin Ondera (Martin.Ondera@gmail.com) (eskimo@pobox.sk)

switch flag,

% =========================== Inicializacna cast s-funkcie  ============================== %
case 0

   % Definicia stavov, vstupov a vystupov systemu %
   sizes = simsizes;
   sizes.NumContStates = 0;
   sizes.NumDiscStates = 0;
   sizes.NumOutputs = nout;
   sizes.NumInputs = n+nout;
   sizes.DirFeedthrough = 1;
   sizes.NumSampleTimes = 1;
   sys = simsizes(sizes);

   % Inicializacia pociatocnych podmienok %
   x0 = [];

   % Inicializacia "str" ako prazdna matica %
   str = [];
   
   % Sample times in TS %
   ts = [0 0];

% ========================== Vypocet podla linearizacnej rovnice ======================== %
case 3
   sys = eval(sym(vzorec));
 
% ================================= Nepouzite priznaky ================================== %
case {1, 2, 4, 9}
   sys = [];
   
% ================================= Spracovanie chyby =================================== %
otherwise
   error(['Unknown flag = ',num2str(flag)]);
end

Contact us at files@mathworks.com