T-S模糊辨识和广义预测控制m文件源程序.docxVIP

T-S模糊辨识和广义预测控制m文件源程序.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TS模糊辨识和广义预测控制m文件源程序

%////////////TS含糊辨识和广义预测控制.m文件源程序///////////////

clearall

closeall

clearall

%获得样本数据

y(1)=1;y(2)=1;u(1)=0;r=16;N0=500;yr1=1;

fork=3:N0;

u(k-1)=5*sin(pi*(k-1)/100);

y(k)=(y(k-1)*y(k-2)*(y(k-1)-2.5)/(1+y(k-1)^2+y(k-2)^2))+u(k

-1);

end

U1=zeros(4,N0);

fork=1:N0;

ify(k)=-5

U1(4,k)=-0.1*y(k)-0.5;

%%%%%%%

U1(3,k)=0.2*y(k)+2;

elseify(k)=0

U1(3,k)=-0.2*y(k);

U1(2,k)=0.2*y(k)+1;

elseify(k)=5

U1(2,k)=-0.2*y(k)+1;

U1(1,k)=0.1*y(k);

else

U1(1,k)=0.1*y(k);

end

end

fori=1:4;

den=0.0001;

fork=1:N0

den=U1(i,k)+den;

end

C(i)=(U1(i,:)*y)/den;

end

fork=1:N0;

fori=1:4;

D(i,k)=abs(y(k)-C(i));

end

if(D(:,k)0)

fori=1:4;

den=0.00001;

forj=1:4;

den=D(i,k)/D(j,k)+den;

end

U2(i,k)=1/den;

end

else

flag=(D(:,k)0);

fori=1:4

if(flag(i)==1)

U2(i,k)=0;

else

U2(i,k)=1/sum(flag);

end

end

end

end

fori=1:4

den=0.00001;

fork=1:N0

den=U2(i,k)+den;

end

C(i)=(U2(i,:)*y)/den;

end

fork=1:N0

den=0.00001;

fori=1:4

den=U2(i,k)+den;

end

fori=1:4

Beta(i,k)=U2(i,k)/den;

end

end

fork=3:N0

fai(:,k-2)=[Beta(:,k-2)

Beta(:,k-2)*y(k-1)

Beta(:,k-2)*y(k-2)

Beta(:,k-2)*u(k-1)];

end

ft=fai;

w=zeros(N0-2,16);

w(:,1)=ft(:,1);

fork=1:N0-2

forh=2:16

fori=1:h-1

den(1,i)=0.001;

fork=1:N0-2

den(1,i)=den(1,i)+w(k,i);

end

alpha(h,i)=0;

fork=1:N0-2

alpha(h,i)=alpha(h,i)+w(k,i)*ft(k,h)/den(1,i);

end

end

s(1,h)=0;

fori=1:h-1

s(1,h)=s(1,h)+alpha(h,i)*w(k,i);

end

w(k,h)=ft(k,h)-s(1,h);

end

end

W=w;

at=alpha;

fori=1:r;

den=0.0001;

fork=1:N0-2

den=W(i,k)+den;

end

g(i)=(W(i,:)*y(1:N0-2))/den;

end

theta(r)=g(r);

fori=(r-1):(-1):1;

theta(i)=g(i)-at(i,:)*theta;

end

x=[-15:0.1:15];

fork=1:301

ifx(k)=-10

UNB(k)=-0.1*x(k)-0.5;

UNS(k)=0;

UPS(k)=0;

UPB(k)=0;

elseifx(k)=-5

UNB(k)=-0.1*x(k)-0.5;

UNS(k)=0.2*x(k)+2;

UPS(k)=0;

UPB(k)=0;

elseifx(k)=0

UNB(k)=0;

UNS(k)=-0.2*x(k);

UPS(k)=0.2*x(k)+1;

UPB(k)=0;

elseifx(k)=5

UNB(k)=0;

UNS(k)=0;

UPS(k)=-0.2*x(k)+1;

UPB(k)=0.1*x(k);

else

UNB(k)=0;

UNS(k)=0;

UPS(k)=0;

UPB(k)=0.1*x(k);

ifUPB(k)=1

UPB(k)=1;

end

end

end

holdon;

plot(x,UNB,b);

plot(x,UNS,k);

plot(x,UPS,r);

plot

文档评论(0)

已 注 销 + 关注
实名认证
文档贡献者

已 注 销

1亿VIP精品文档

相关文档