EDA365电子论坛网

标题: 求助Matlab中最小二乘法参数辨识 [打印本页]

作者: replace    时间: 2022-11-3 15:32
标题: 求助Matlab中最小二乘法参数辨识
系统输入输出数据一览表
" A4 r4 V2 Y' |9 [输入 0    0.84    0.14    -0.96    -0.28    0.93    0.99    0.41
$ x, T+ Q7 ?) L* N输出 0    0.195   0.513   -0.272   -0.42    0.058   0.263   0.45, H  ?- I4 @" h( S

% I6 v' R* f' M6 U: X1 N针对以上模型分别采用最小二乘法(LS)进行了模型参数辨
& W& _6 p: K3 G' E识,其Matlab程序清单如下:
$ A9 j, B0 m: z3 Gclear %清零工作空间
3 T; \& r0 \6 UU=[0,0.84,0.14,-0.96,-0.28,0.93,0.99,0.41]′;/ E, H8 q7 l+ i3 Q3 C
Z=[0,0.195,0.513,-0.272,-0.42,0.058,0.263,0.45]′;
7 e" x- q% m+ d# k%赋系统输入输出初始值; v" ?2 s3 N/ B) u6 A$ B
m=iddata(Z,U);
5 y: P  X; L: |% X%标准包含系统输入输出数据对象
: [. E5 i( M2 d9 Q' NV=arx(m, [1 1 1])
8 x" e5 W8 C+ C( ^5 h%基于最小二乘法的系统参数辨识, g! f! }( n* @- K' C7 `, ]
present(V)
7 Y9 P  t( \! b%显示最小二乘辨识对象的信息9 e3 j2 d1 `, W1 z) k) D. m9 }
由运行程序可得最小二乘辨识结果为A(q)=1 + 0.518 5q-1,B(q)= 0.546 6q-1,( n& y$ _6 ~! {! ]' ^
从而可得系统的传递函数为
( ?5 o% }1 |, }$ F% A0 {0 UG(s) =(0.546 6s-1)/(1+0.518 5s-1)+ U- f7 U" }0 N* p& z3 s  o* @
4 C" y3 n; A) L) _
现在我想用上面方法求4阶的传递函数,该怎么做呢,请教各位大神!!!* G  ?+ R- t2 T) x( u

作者: RGB_lamp    时间: 2022-11-3 17:04
开放式的程序设计语言,可用于高性能工程计算。基本的数据单位是没有维数限制的矩阵。MATLAB是很多数学类、工程和科学类的初等和高等课程的标准指导工具。工业上常用来做产品研究、开发和分析。
作者: someone    时间: 2022-11-3 17:15
: K$ y5 k+ x9 G$ \, c
%标准包含系统输入输出数据对象% H; W- K1 ?& B  n/ `
V=arx(m, [1 1 1])
3 v1 }2 ^6 t: P$ X& z改为
2 i% [/ M, R% p2 ~  }V=arx(m, [4 4 1])# x+ ]+ |+ Y4 K2 z
就可以了!
作者: nocturne    时间: 2022-11-3 17:23
G(q)=1/(1-0.9*q-1)这种传递函数能在simulink有对应模块吗,或者怎么把它变成G(s)时域的呢?




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2