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相关推荐

  1. matlab关于年月日的程序,自己编的小程序!Matlab日期计算

    function lizi_doy % 这个程序是用来计算输入的某一年,某一月,某一日在当年是第多少天 % 定义变量: % year           --输入的年份 % month        ...

  2. matlab下自编mesh画图程序

    clc clear all close all % matlab自带的mesh画图 N = 50; xline = linspace(0,1,N); yline = linspace(0,1,N); ...

  3. 基于matlab的卷积码实验报告,基于MATLAB的卷积码编译码设计仿真.doc

    摘要:在数字信号的传输过程中,会受到信道特性不理想和噪声的影响,通常采用差错控制编码来提高系统的可靠性.卷积码是P.Elias等人提出的,这一编码技术至今广泛使用.目前,卷积码已普遍在无线通信标准使用 ...

  4. COST231_hata模型信道仿真matlab编程源码程序

    1.问题描述: COST231_hata模型信道仿真matlab编程源码程序 2.部分程序: %%%%%%%%%%%%%%%hata传播模型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  5. 在matlab中以图像中心为旋转轴逆时针旋转30度自编程序,MATLAB数学建模习题

    MATLAB数学建模习题1 一.单项选择题(将选择答案写在答题纸上,每小题2分共20分) 1.在MATLAB命令窗口中键入命令,Vname=prod(7:9)/prod(1:3),可计算组合数 如果省 ...

  6. matlab有意思程序,matlab有意思的小程序

    10个C++趣味小程序,很有意思的.VIP专享文档 VIP专享文档是百度文库认... 现在很多人使用微信的时间已经非常长了,他们注册的微信号往上可能已经是5年前的事情了,正是由于不少使用者在这个过程当 ...

  7. matlab游戏程序,matlab游戏小程序

    小程序有什么游戏是比较受欢迎的_计算机软件及应用_IT/计算机_专业资料.现在很... 总有一款PPT 适合您[最新出品\\精心整理\\倾情奉献\\敬请珍惜] 微信小程序介绍 WeChat Mini ...

  8. matlab多元回归程序,多元回归程序MATLAB程序

    <多元回归程序MATLAB程序>由会员分享,可在线阅读,更多相关<多元回归程序MATLAB程序(45页珍藏版)>请在人人文库网上搜索. 1.程序MATLAB多元回归程序matl ...

  9. matlab水印剪切攻击程序,可以运行的水印matlab程序(嵌入,提取,攻击测试等).doc

    可以运行的水印matlab程序(嵌入,提取,攻击测试等).doc IMREAD YUANSHITUXIANGBMP SUBPLOT2,2,1IMSHOWTITLE 原始图像 WATERIMREAD W ...

最新文章

  1. Eclipse轻松玩转SmartFramework
  2. java死循环_java小白关于while死循环时处理办法的一发求助帖
  3. Java学完后可以从事的工作岗位分享
  4. 2019一起走,健康幸运全都有
  5. 探测与响应是各企业机构在2017年的首要安全事务
  6. 基于JAVA+Servlet+JSP+MYSQL的在线购物系统
  7. 暑假周进度总结报告4
  8. Golang标准库RPC实践及改进
  9. 迟来的2013年总结及算法工程师/研究员找工作总结
  10. 也论不使用第三个变量交换两个变量的值[C#]
  11. Python 自动化教程(3) : 自动生成PPT文件 Part 1 (干货)
  12. 802.11无线wifi协议学习(二)
  13. 如何使用南方CASS绘制地形图
  14. 互补品的需求曲线图_供给曲线和需求曲线的解析
  15. Vue3+Vite+TypeScript项目开发
  16. 计算机图形学 | 实验四:绘制一个球体
  17. 巧用url 让seo做起来更轻松
  18. Caliburn.Micro学习笔记目录——其他
  19. 国仁老猫:“视频号”最新最全变现推广引流方式大全;值得收藏【上】
  20. 青龙面板-饿了么吃货豆

热门文章

  1. jboss默认进程名称_快速指南:剖析JBoss BPM跨进程通信
  2. 避免在Cassandra中使用清单
  3. Jsoup V的幕后秘密:优化的技巧和窍门
  4. Java EE 7中的资源和依赖注入
  5. ug弹簧可变性装配_弹簧可配置魔术
  6. java hadoop_单元测试Java Hadoop作业
  7. maven项目 ant_将大型项目从Ant迁移到Maven
  8. java程序打包为jar_将Java应用程序打包为一个(或胖)JAR
  9. 为什么要关心均值和哈希码
  10. java三件套_Java开发人员应该知道的三件事