mpc2.m

来自「Matlab写得神经网络的训练实例」· M 代码 · 共 28 行

M
28
字号
function MPC2()
num1=5.72;den1=[60 1];g1=poly2tfd(num1,den1,0,14);
num2=1.52;den2=[25 1];g2=poly2tfd(num2,den2,0,15);
%将MPC传递函数模型转化为MPC状态空间模型
mod=tfd2mod(7,1,g1,g2);
%将MPC状态空间模型转化为通用状态空间模型
[A,B,C,D]=mod2ss(mod);
%将通用状态空间模型转换LTI对象的状态空间模型
sys=ss(A,B,C,D);
h=tf(sys);
%获得脉冲信号x
[u,t]=gensig('pulse',8,10,0.1);
x=[u u];
%求解LTI对象的单位脉冲响应y
t=0:0.1:10;
[y,x1,t1]=lsim(h,x,t);
%输入脉冲信号x的归一化处理
[ax,mx,stdx]=autosc(x);
mx=[0 0];
sx=scal(x,mx,stdx);
%生成用于线性回归计算的输入/输出数据矩阵
n=35;
[xreg,yreg]=wrtreg(sx,y,n);
%基于多变量最小二乘法的脉冲响应模型辨识
ninput=2;
plotopt=2;
[theta,yres]=mlr(xreg,yreg,ninput,plotopt)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?