党卫军matlab函数和模型状态空间块之间的区别万博1manbetx
16个视图(30天)
显示旧的评论
我想做感应电动机状态空间模型模拟,所以我建的党卫军功能和设置零初始条件,但在我和输入lsim函数来喂它,不同的输出。当我用仿真软件搭建状态块,美联储相同的输入万博1manbetx,并设置初始条件相同,它聚合,得到了很好的结果,这让我觉得有什么区别这两个状态空间建模方法。我应该注意哪些方面如果我想使党卫军在matlab收敛吗?
更新:我在matlab和SImulink块附加代码更好的理解万博1manbetx
万博1manbetx仿真软件块和求解器设置:
在mat万博1manbetxlab仿真软件块配置都是一样的
万博1manbetx模型解算器设置:
MATLAB代码:
% %基本设置
f = 10000;%采样频率
Ts = 1 / f;
% %数据准备(不重要
着干活=;
ab0_voltage1 = out1.voltage_ab0;
ab0_current1 = out1.current_ab0;
rotation_f1 = out1.speed;
start_time = 0;
sampling_time = 5;
start_point = start_time * f + 1;
sampling_points = sampling_time * f - 1;
t_ind = start_point: start_point + sampling_points;
u = ab0_voltage1 (t_ind 2:3);%的输入
我= ab0_current1 (t_ind 2:3);
flux_init = out.flux_ab (start_point 2:3);
w =意味着(out.w_e (, 2));
% %参数化的状态空间B C D
x = (6.14, 0.037874419, 0.387125581, 4.987617956);
Rs = x (1);
lls_dot = x (2);
Lm_dot = x (3);
Rr_dot = x (4);
% %状态空间建模
= [-Rr_dot / Lm_dot - w Rr_dot 0;
w, -Rr_dot / Lm_dot 0 Rr_dot;
Rr_dot / (Lm_dot * lls_dot), w / lls_dot——(Rr_dot + Rs) / lls_dot 0;
- w / lls_dot Rr_dot / (Lm_dot * lls_dot), 0, - (Rr_dot + Rs) / lls_dot];
B = [0,0;
0,0;
1 / lls_dot, 0;
0,1 / lls_dot];
C =[0(2)、眼睛(2)];
D = 0 (2);
sys = ss (A, B, C, D, Ts)
% %响应
t = 0: Ts: sampling_time-Ts;
x0 = [flux_init,我(1:2)];%初始条件设置
y = lsim (sys, u, t, x0)