万博1manbetx仿真软件错误:时变状态空间块

1视图(30天)
我有一个仿真软件错万博1manbetx误我琢磨不透,有关 时变状态空间 块尺寸。
我用这一块,这样我也可以得到x:正常党卫军块x不输出。
这是一个简单的2 x2系统,该系统尺寸是正确的,但我得到一个端口错误——这似乎是输出端口2 dim(长度为2“x”输出)。它可以是任何系统,我碰巧有一个闭环状态空间,但是任何引发同样的错误。
任何想法为什么?
我花了太多时间试图找出发生了什么…
SL模型连接,并可运行下面的代码。
错误:
矩阵乘法维传播误差。设置输出端口时发生错误的 LQR_post /不同状态空间/ Product1 “维度[1 x 2]。这个错误的一个可能的原因是,这些维度不同意部分维度信息出现在其他港口
组件: 万博1manbetx | 类别: 模型误差
错误在港口宽度或维度。” 输入端口2 “的” LQR_post /不同状态空间/总和 “是一个[1 x2]矩阵。
组件: 万博1manbetx | 类别: 模型误差
代码:
J = 1 e-5;
b = 0.0016;
k = 0.632;
= [0,1;- k / J - b / J];
B = [0;1 / J];
C = 0 [1];
D = [0];
sys = ss (A, B, C, D,
“StateName”,{“x”,“x·”},
“InputName”,{“r (ref)”},
“OutputName”,{“θ”});
Q = [1000 0;0 0.001);
R = [0.01];
[K_lqr, S1, P1] =等(sys, Q, R);
sys_lqr = ss (sys。A - sys。B * K_lqr,系统。B * K_lqr *(1, 0)系统。C, sys.D);
sys_lqr。StateName = {“θ”,“angVel”};
sys_lqr。InputName = {“r (ref)”};
sys_lqr。OutputName = {“θ”};
sys_lqr
sys_lqr = =θangVelθ0 1 angVel -3.162 -3.261 e + e + 07年04 B = r (ref)θ0 angVel 3.156 e + 7 C =θangVelθ1 0 D = r (ref)θ0连续时间状态空间模型。

接受的答案

山姆翟
山姆翟 2023年3月18日
@John
如果你想获得状态向量 x 这种方法,那么您可以考虑,因为输出向量 y 可以从状态向量构造信息。在你的情况下,
J = 1 e-5;
b = 0.0016;
k = 0.632;
= [0,1;- k / J - b / J];
B = [0;1 / J];
C =眼(2);变化百分比输出矩阵为单位矩阵
D = [0;0);
Q = [1000 0;0 0.001);
R = [0.01];
K =等(A, B, Q, R)
K = 1×2
315.5964 - 0.3245
3评论
约翰
约翰 2023年3月22日
@Sam翟 啊,谢谢。澄清。输出是x(假设D = 0)只要C =难以忍受,所以从根本上说,状态空间块x用于输出。谢谢:)

登录置评。

答案(1)

保罗
保罗 2023年3月18日
嗨,约翰,
sys_lqr常数块。B和sys_lqr。C尝试清理块参数” 解释为一维向量参数 ——对待向量为一维”
5个评论

登录置评。

s manbetx 845


释放

R2022b

社区寻宝

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

开始狩猎!