1.ss是状态空间模型,c2d是连续到离散系统的转换
http://www.mathworks.com/help/toolbox/control/ref/ss.html
http://www.mathworks.com/help/toolbox/control/ref/c2d.html
2.simulink设置干扰的模块:Uniform Random Number 或者Random Number
3.零碎函数:
eye()该函数返回单位矩阵(对角是1)。
Y = eye(n):返回nn单位矩阵;
Y = eye(m,n):返回mn单位矩阵;
Y = eye([m n]):返回m*n单位矩阵;
Y = eye(size(A)):返回与A一样大小的单位矩阵;
zeros函数——生成零矩阵
ones函数——生成全1阵
【zeros的使用方法】
B=zeros(n):生成n×n全零阵。
B=zeros(m,n):生成m×n全零阵。
B=zeros([m n]):生成m×n全零阵。
B=zeros(d1,d2,d3……):生成d1×d2×d3×……全零阵或数组。
B=zeros([d1 d2 d3……]):生成d1×d2×d3×……全零阵或数组。
B=zeros(size(A)):生成与矩阵A相同大小的全零阵。
【ones的使用方法】
ones的使用方法与zeros的使用方法类似。
- 问题:为什么三角波在simulink中不是三角波?(特别是永磁同步电机仿真)。
解决方法:原因是频率太高、步长偏大,在菜单Simulation中打开Configuration Parameters对话框,设置Max Step Size为1e-6或更小。 - 问题:Attempt to access x (2); index out of range due to numel (x) = 1。即尝试访问x(2);由于numel(x)=1,索引超出范围。
解决方法:特别值得注意的是,在状态函数中,当你的程序写了x2=u(1),之后你有写下x(2)*4什么的就会出现这样的问题,通过零x(2)=x2即可解决,原因是变量要统一。