日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

dmc matlab程序,matlab编的DMC程序.doc

發布時間:2023/12/3 循环神经网络 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dmc matlab程序,matlab编的DMC程序.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

matlab編的DMC程序

clear all;

% close all;

%系統模型建立

num=[0.8];

den=[225 1];

[a,b,c,d]=tf2ss(num,den);

% step(num,den);

Ts=30;

lambda=60;

[ad,bd,cd,dd]=c2dt(a,b,c,Ts,lambda);

[numd,dend]=ss2tf(ad,bd,cd,dd);

[a,x]=dstep(ad,bd,cd,dd);

P=10;

M=5;

N=50;

%動態矩陣A

for i=1:P

for j=1:M

if j>i

A(i,j)=0;

else

A(i,j)=a(i-j+1);

end

end

end

%A0

g(1)=a(1);

for i=2:N

g(i)=a(i)-a(i-1);

end

for i=1:P

for j=1:N-1;

if i>j

A0(i,j)=0;

elseif j==N-1

A0(i,j)=a(i+1);

else

A0(i,j)=g(i-j+N);

end

end

end

%權矩陣Q、R

Q=0.5*eye(P);

R=0.01*eye(M);

h(1)=0.5;

for i=2:P

h(i)=0.5;

end

for i=1:M

if i==1

D1(i)=1;

else

D1(i)=0;

end

end

D=D1*(inv(A'*Q*A+R)*A'*Q);

y_1=0;

u_3=0;

%初始化

for i=1:N-1

u(i)=0;

end

for i=1:M

du(i)=0;

end

for k=1:100

t(k)=k*Ts;

for i=1:P

r(i)=10;

end

y(k)=0.9149*y_1+0.0680*u_3;

%預測控制

ym=0;

for i=1:N-1

ym=ym+g(i)*u(N-i);

end

e=y(k)-ym;

dU=D*(r'-(A0*u'+h'*e));

U(k)=u(N-1)+dU;

%加擾動

if k==50

U(k)=U(k)+5;

end

for i=1:N-2

u(i)=u(i+1);

end

u(N-1)=U(k);

u_3=u(N-3);

% end

y_1=y(k);

EE(k)=r(1)-y(k);

end

figure(1)

% subplot(211)

plot(t,y,'r')

hold on;

grid on;

% subplot(212)

% plot(t,U,'g');

% hold on

% grid on;

總結

以上是生活随笔為你收集整理的dmc matlab程序,matlab编的DMC程序.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。