700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > matlab中ss函数_matlab状态空间模型(matlab中如何通过ss函数和tf2ss函数将微分方程转化...)...

matlab中ss函数_matlab状态空间模型(matlab中如何通过ss函数和tf2ss函数将微分方程转化...)...

时间:2024-04-11 09:48:32

相关推荐

matlab中ss函数_matlab状态空间模型(matlab中如何通过ss函数和tf2ss函数将微分方程转化...)...

matlab中如何通过ss函数和tf2ss函数将微分方程转化...

例如下面的一道题。

方法一:

num=[0 0 10 10];

den=[1 6 6 10];

[A,B,C,D]=tf2ss(num,den)

方法二:

num=[0 0 10 10];

den=[1 6 6 10];

gs = tf(num,den)

gss = ss(gs)

matlab中由传递函数生成到状态空间的指令dif2ss

1、dif2ss并非MATLAB系统自带的命令,而是国内某本教材上所载的作者自编函数。我不知道楼主看的是哪本书,根据我查到的信息判断,可能是赵明旺等编著的《现代控制理论》(华中科技大学出版社,第73页):

http://ishare./f/23221558.html

书中说该函数在随书光盘中提供,但我未能找到随书光盘。

2、如果愿意做,可以根据该书第49-53页关于约旦规范型的相关内容自行编写程序。

3、另外一个可行的做法是,使用符号数学工具箱的jordan函数来求变换矩阵,以下是示例:>>num_1=[21424];den_1=[1584];

>>sys_1=tf(num_1,den_1);

>>[a,b,c,d]=ssdata(sys_1);

>>[v,j]=jordan(a);

>>sys_2=ss(va*v,v,c*v,d)

a=

x1x2x3

x1-100

x20-21

x300-2

b=

u1

x12

x20

x32

c=

x1x2x3

y16-2-5

d=

u1

y10

Continuous-timemodel.

需要注意,这个结果与上面所说赵明旺《现代控制理论》73页并不一致,这是因为,由于状态变量的选择不唯一,约旦规范型也不唯一。转换为输入输出关系的模型(传递函数)看的更清楚:>>tf(sys_1-sys_2)

Transferfunction:

-1.29e-014s^3-7.466e-014s^2-1.448e-013s-9.716e-014

-----------------------------------------------------------

s^6+10s^5+41s^4+88s^3+104s^2+64s+16

可见二者是等同的(不严格等于0是由于数值误差造成)。

matlab状态空间模块

在命令窗口直接给A,B,C,D赋值

然后双击你在模型中的State-Space模块,就可以设置A,B,C,D了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。