📄 samp.m
字号:
clear;
y=0;
ysp=0;
u=0;
v1=0;
ysp1=0;
y1=0;
u1=0;
t=0;
p=[100,0,0,0;0,100,0,0;0,0,100,0;0,0,0,100];
n=zeros(4,4);
nf=zeros(4,1);
pf=zeros(4,1);
k=zeros(4,1);
f=zeros(4,1);
nth=zeros(4,1);
th=[-2;1;0.01;0.01];
lambda=1;
to=200;
z=0.7;
w=1;
h=1;
ulim=1;
cancel=1;
a=exp(-z*w*h);
am1=-2*a*cos(w*h*(1-z*z)^0.5);
am2=a*a;
if w*to>100
aop=0
else
aop=-exp(-h/to)
end
if cancel>0.5
ao=0
else
ao=-aop
end
pf=p*f;
denom=lambda+pf.'*f;
k=pf/denom;
eps=y-th.'*f;
nth=th+k*eps;
n=(p-pf*k.')/lambda;
nf=[-y;f(1);u;f(3)];
a1=nth(1);
a2=nth(2);
b0=nth(3);
b1=nth(4);
nn=b1*b1-a1*b0*b1+a2*b0*b0;
r10=(ao*am2*b0^2+(a2-am2-ao*am1)*b0*b1+(ao+am1-a1)*b1^2)/nn;
w1=(a2*am1+a2*ao-a1*a2-am2*ao)*b0;
s00=(w1+(-a1*am1-a1*ao-a2+a1^2+am2+am1*ao)*b1)/nn;
w2=(-a1*am2*ao+a2*am2+a2*am1*ao-a2^2)*b0;
s10=(w2+(-a2*am1-a2*ao+a1*a2+am2*ao)*b1)/nn;
bs=b0+b1;
as=1+am1+am2;
bm0=as/bs;
if cancel>0,5
r1=b1/b0
else
r1=r10
end
if cancel>0,5
s0=(am1-a1)/b0
else
s0=s00
end
if cancel>0,5
s1=(am2-a2)/b0
else
s1=s10
end
if cancel>0,5
t0=as/b0
else
t0=bm0
end
if cancel>0,5
t1=0
else
t1=bm0*ao
end
v=-ao*v1+t0*ysp+t1*ysp1-s0*y-s1*y1+(ao-r1)*u1;
if v<-ulim
u=-ulim
elseif v<ulim
u=v
else
u=ulim
end
ny1=y;
nu1=u;
nv1=v;
nysp1=ysp;
ts=t+h;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -