function runokhand

global sys HANDLES

if length(str2num(get(HANDLES.runinpdef.edt(1),'string')))
   p0=str2num(get(HANDLES.runinpdef.edt(1),'string'));
else
   p0=evalin('base',get(HANDLES.runinpdef.edt(1),'string'));
end
p0=p0(:)';

if length(str2num(get(HANDLES.runinpdef.edt(2),'string')))
   v0=str2num(get(HANDLES.runinpdef.edt(2),'string'));
else
   v0=evalin('base',get(HANDLES.runinpdef.edt(2),'string'));
end
v0=v0(:)';

x0=[p0 v0];
sys.x0=x0;

if isfield(sys.input,'win.w')
   if sys.input.win.flag
      sys.input.u=(sys.input.x).*(sys.input.win.w);
   else
      sys.input.u=(sys.input.x);
   end
else
   sys.input.u=(sys.input.x);   
end

if isfield(sys.input,'win.flag')
   sys.input.win.flag=0;
end

[a,b,c]=prepsim(sys.m, sys.c, sys.k, sys.f, sys.base*sys.chain);

%if exist('lsim')==2 & sys.base*sys.chain==0
%   [mc,nc]=size(c);
%   [mb,nb]=size(b);
%   dt=zeros(mc,nb);
%   simsys=ss(a,b,c,dt);
%   [sys.output.yp, sys.output.t]= lsim(simsys,sys.input.u,sys.input.t,sys.x0);
%else
   [sys.output.yp, sys.output.t]= ...
      simulate(a,b,c,sys.input.u,sys.input.t,sys.x0,sys.base*sys.chain,...
      sys.m,sys.c,sys.k,sys.f);
%end

[m,n]=size(sys.output.yp);
if m>n
   sys.output.yp=sys.output.yp';
end
sys.output.t=sys.output.t(:)';

hideallbtns
set(HANDLES.hmmenu{21}(1),'enable','on')