党卫军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)
7评论

登录置评。

接受的答案

雷蒙德黄
雷蒙德黄 2022年7月6日
编辑:雷蒙德黄 2022年7月6日
我发现这个问题。结果我建的模型首先是MATLAB 离散时间状态空间模型 ,我没注意。我做了之后 连续时间状态空间模型, 它融合。在代码中,恰克如下所示。 @Sam翟 技术上他们是相同的模型,但是我不知道为什么多屏画面等等版本收敛和离散分道扬镳。
% sys = ss (A, B, C, D, Ts)离散时间状态空间模型
sys = ss (A, B, C, D)%连续时间状态空间模型
11日评论
保罗
保罗 2022年7月7日
你有它。使用汇集()开发的离散近似continous-time模型。检查的c2d文档页面的可用选项转换。祝您的项目。

登录置评。

更多的答案(2)

Fangjun江
Fangjun江 2022年7月5日
编辑:Fangjun江 2022年7月5日
当调用有有限数量的设置 lsim ( sys , u , t , x0 , 方法 )。你需要更改设置仿真软件与MATLAB仿真时间向量。万博1manbetx最有可能的是,选择与固定步长离散求解模型。万博1manbetx这只是两个仿真结果匹配。
如果模型收敛的输出使用默认设置,系统万博1manbetx是稳定的。最有可能的是,MATLAB的步长太大导致分歧。
1评论
雷蒙德黄
雷蒙德黄 2022年7月6日
解算器设置在仿真软件与固定步ode8,和固定万博1manbetx步长为1的军医的Ts matlab党卫军函数。

登录置评。


山姆翟
山姆翟 2022年7月6日
我添加了一行 sys = ss (A, B, C, D, Ts) 确定系统是否稳定。
趋于稳定(系统)
趋于稳定(系统) 返回一个逻辑值 1 (真正的)如果动态系统模型系统动力学稳定,和一个逻辑值 0 (false)。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的