📄 tset.m
字号:
From: <由 Microsoft Internet Explorer 5 保存>
Subject:
Date: Thu, 27 Mar 2008 20:17:37 +0800
MIME-Version: 1.0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.mathworks.com/matlabcentral/files/19328/tset.m
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2900.3268" name=3DGENERATOR></HEAD>
<BODY><PRE>function [tsx,tsy,tsz,tsphi,tstheta,tsyaw] =3D =
tset(eoutd,posd,t)
%tset - SETTLING TIME OF THE TIME RESPONSE ( +/-10%)
%assume steady state value [1 0 1 0 0 1]
%[ts_x,ts_y,ts_z,ts_phi,ts_theta,ts_yaw] =3D tset(eoutd,t)
%--------output--------------------------
%ts_x- x direction
%ts_y- y direction
%ts_z- z direction
%ts_phi- phi direction
%ts_theta- theta direction
%ts_psi- psi direction
%--------input--------------------------
%eoutd - position or velocity=20
%posd - desired position or velocity
%t - simulation time
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Initialization
thresx=3D0.10; % 10 percent - bigger than in Franklin
thresy=3D0.05; % 5 percent=20
thresz=3D0.10;
thresp=3D0.05;
threst=3D0.05;
thresy=3D0.10;
posd=3D[1 0 1 0 0 1]';
=20
%Calculate ts-x
n=3D0;=20
x=3Deoutd(:,1);
selx=3Dlogical(abs(x-posd(1))>thresx); % +/-10%
ts_x=3Dselx.*t;
for i=3D1:length(x)
if ts_x(i) =3D=3D0=20
n=3Dn+1;
else
n=3D0; tsx=3D0;=20
end
if n>6 %******* trend repeats for 6 =
times*********
tsx=3Dt(i); =20
break =20
end =20
end
%Calculate ts-y
n=3D0;=20
y=3Deoutd(:,2);
sely=3Dlogical(abs(y-posd(2))>thresy); % +/-10%
ts_y=3Dsely.*t;
for i=3D1:length(y)
if ts_y(i) =3D=3D0=20
n=3Dn+1;
else
n=3D0; tsy=3D0;=20
end
if n>6
tsy=3Dt(i);=20
break =20
end =20
end
% Calculate ts-z
n=3D0;=20
z=3Deoutd(:,3);
selz=3Dlogical(abs(z-posd(3))>thresz); % +/-10%
ts_z=3Dselz.*t;
for i=3D1:length(z)
if ts_z(i) =3D=3D0=20
n=3Dn+1;
else
n=3D0; tsz=3D0;=20
end
if n>6
tsz=3Dt(i);
break =20
end =20
end
% Calculate ts-phi
n=3D0;=20
phi=3Deoutd(:,4);
selphi=3Dlogical(abs(phi-posd(4))>thresp); % +/-10%
ts_phi=3Dselphi.*t;
for i=3D1:length(z)
if ts_phi(i) =3D=3D0=20
n=3Dn+1;
else
n=3D0; tsphi=3D0;=20
end
if n>6
tsphi=3Dt(i);
break =20
end =20
end
% Calculate ts-theta
n=3D0;=20
theta=3Deoutd(:,6);
seltheta=3Dlogical(abs(theta-posd(5))>threst); % +/-10%
ts_theta=3Dseltheta.*t;
for i=3D1:length(z)
if ts_theta(i) =3D=3D0=20
n=3Dn+1;
else
n=3D0; tstheta=3D0;=20
end
if n>6
tstheta=3Dt(i);
break =20
end =20
end
% Calculate ts-yaw
n=3D0;=20
yaw=3Deoutd(:,6);
selyaw=3Dlogical(abs(yaw-posd(6))>thresy); % +/-10%
ts_yaw=3Dselyaw.*t;
for i=3D1:length(z)
if ts_yaw(i) =3D=3D0=20
n=3Dn+1;
else
n=3D0; tsyaw=3D0;=20
end
if n>6
tsyaw=3Dt(i);
break =20
end =20
end</PRE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -