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 G
clear %清零工作空间
3 T; \& r0 \6 U
U=[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' N
V=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 U
G(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