网站首页 > 技术文章 正文
1.多项式模型转换为零极点增益模型
matlab语法格式:
[z,p,k]=tf2zp(num,den);
G=zpk(z,p,k);
举例:
num=[13,4,0,6];
den=[5,3,16,1,7];
G=tf(num,den)
[z,p,k]=tf2zp(num,den)
G1=zpk(z,p,k)
G =
13 s^3 + 4 s^2 + 6
------------------------------
5 s^4 + 3 s^3 + 16 s^2 + s + 7
Continuous-time transfer function.
z =
-0.8902 + 0.0000i
0.2912 + 0.6585i
0.2912 - 0.6585i
p =
-0.3248 + 1.6160i
-0.3248 - 1.6160i
0.0248 + 0.7174i
0.0248 - 0.7174i
k =
2.6000
G1 =
2.6 (s+0.8902) (s^2 - 0.5825s + 0.5185)
-------------------------------------------------
(s^2 - 0.04959s + 0.5153) (s^2 + 0.6496s + 2.717)
Continuous-time zero/pole/gain model.
2. 零极点模型转换为多项式形式
maltab语法格式
[num den]=zp2tf(z,p,k)
G=tf(num,den)
举例:
maltab代码:
z=-3; p=[-2,-4,-5]; k=7;
G=zpk(z,p,k)
[num den]=zp2tf(z,p,k)
G1=tf(num,den)
运行结果:
G =
7 (s+3)
-----------------
(s+2) (s+4) (s+5)
Continuous-time zero/pole/gain model.
num =
0 0 7 21
den =
1 11 38 40
G1 =
7 s + 21
------------------------
s^3 + 11 s^2 + 38 s + 40
Continuous-time transfer function.
3. 多项式模式转换为状态空间方程模式
maltab语法:
[A,B,C,D]=tf2ss(num,den);
G=ss(A,B,C,D)
举例
maltab代码:
num=[13,4,0,6];
den=[5,3,16,1,7];
G=tf(num,den)
[A,B,C,D]=tf2ss(num,den);
G1=ss(A,B,C,D)
运行如下:
G =
13 s^3 + 4 s^2 + 6
------------------------------
5 s^4 + 3 s^3 + 16 s^2 + s + 7
Continuous-time transfer function.
G1 =
A =
x1 x2 x3 x4
x1 -0.6 -3.2 -0.2 -1.4
x2 1 0 0 0
x3 0 1 0 0
x4 0 0 1 0
B =
u1
x1 1
x2 0
x3 0
x4 0
C =
x1 x2 x3 x4
y1 2.6 0.8 0 1.2
D =
u1
y1 0
Continuous-time state-space model.
4. 将状态空间转化为多项式形式
maltab语法:
[num,den]=ss2tf(A,B,C,D);
G=tf(num,den);
举例:
matlab代码:
A=[0 1 0 0 ; 0 0 -1 0; 0 0 0 1;0 0 5 0];
B=[0;1;0;-2];
C=[1 0 0 0];
D=0;
G=ss(A,B,C,D)
[num,den]=ss2tf(A,B,C,D)
G1=tf(num,den)
运行结果:
G =
A =
x1 x2 x3 x4
x1 0 1 0 0
x2 0 0 -1 0
x3 0 0 0 1
x4 0 0 5 0
B =
u1
x1 0
x2 1
x3 0
x4 -2
C =
x1 x2 x3 x4
y1 1 0 0 0
D =
u1
y1 0
Continuous-time state-space model.
num =
0 0 1.0000 -0.0000 -3.0000
den =
1.0000 0 -5.0000 0 0
G1 =
s^2 - 4.441e-16 s - 3
---------------------
s^4 - 5 s^2
Continuous-time transfer function.
5 零极点形式转换为状态空间方程
语法格式:
[A,B,C,D]=zpk2ss(z,p,k)
G=ss(A,B,C,D)
举例:
matlab 代码:
z=-3; p=[-2,-4,-5]; k=7;
G=zpk(z,p,k)
[A,B,C,D]=zp2ss(z,p,k)
G1=ss(A,B,C,D)
运行结果:
G =
7 (s+3)
-----------------
(s+2) (s+4) (s+5)
Continuous-time zero/pole/gain model.
A =
-2.0000 0 0
1.0000 -9.0000 -4.4721
0 4.4721 0
B =
1
1
0
C =
0 0 1.5652
D =
0
G1 =
A =
x1 x2 x3
x1 -2 0 0
x2 1 -9 -4.472
x3 0 4.472 0
B =
u1
x1 1
x2 1
x3 0
C =
x1 x2 x3
y1 0 0 1.565
D =
u1
y1 0
Continuous-time state-space model.
6. 状态空间方程转换为零极点形式
matlab语法格式:
[z,p,k]=ss2zp(A,B,C,D);
G=zpk(z,p,k);
举例:
matlab 代码:
A=[0 1 0 0 ; 0 0 -1 0; 0 0 0 1;0 0 5 0];
B=[0;1;0;-2];
C=[1 0 0 0];
D=0;
G=ss(A,B,C,D)
[z,p,k]=ss2zp(A,B,C,D)
G2=zpk(z,p,k)
运行结果:
G =
A =
x1 x2 x3 x4
x1 0 1 0 0
x2 0 0 -1 0
x3 0 0 0 1
x4 0 0 5 0
B =
u1
x1 0
x2 1
x3 0
x4 -2
C =
x1 x2 x3 x4
y1 1 0 0 0
D =
u1
y1 0
Continuous-time state-space model.
z =
1.7321
-1.7321
p =
0
0
2.2361
-2.2361
k =
1
G2 =
(s-1.732) (s+1.732)
-----------------------
s^2 (s-2.236) (s+2.236)
Continuous-time zero/pole/gain model.
- 上一篇: 通信QPSK调制,为什么要对数据串并转换?
- 下一篇: Simulink的回调函数(一)
猜你喜欢
- 2024-12-07 理工男用数学建模解锁“脱单攻略”,三天后就脱单了
- 2024-12-07 用C语言重新实现Matlab的FFT函数,不使用第三方库
- 2024-12-07 如何使用现有工具三分钟之内从无到有设计一款滤波器?
- 2024-12-07 基于 PID 控制的离散控制系统实现
- 2024-12-07 自动控制原理PID算法示例理解
- 2024-12-07 反激峰值电流光耦补偿设计基础
- 2024-12-07 IIR数字滤波器原理及实现方法
- 2024-12-07 Simulink的回调函数(一)
- 2024-12-07 通信QPSK调制,为什么要对数据串并转换?
- 2024-12-07 MATLAB《自动控制原理》相关编程
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)