【发布时间】:2019-01-24 16:05:33
【问题描述】:
我想通过生成的 MNA(修改节点分析)方程系统以编程方式生成状态空间 [A B C D] 系统。我不知道要调用哪些 MATLAB 函数。
我使用 Erik Cheever 的 SCAM link 脚本来生成方程组。
我制作了文件 example3.cir link,这是一个带有输入源 Vs 的香料 RLC 电路。
我也试过 netlist2linss link github 但它不在 laplace 域中,它不能正常工作。
example3.cir:
R1 2 1 R
C1 3 0 C
L1 2 3 L
Vs 1 0 V
>> fname = 'example3.cir'; scam; system_of_eqns = [Z == A*X]
Solved variables:
v_1
v_2
v_3
I_Vs
system_of_eqns =
0 == I_Vs + v_1/R1 - v_2/R1
0 == v_2*(1/R1 + 1/(L1*s)) - v_1/R1 - v_3/(L1*s)
0 == v_3*(C1*s + 1/(L1*s)) - v_2/(L1*s)
Vs == v_1
>> [A_,b_] = equationsToMatrix(system_of_eqns, X)
A_ =
[ -1/R1, 1/R1, 0, -1]
[ 1/R1, - 1/R1 - 1/(L1*s), 1/(L1*s), 0]
[ 0, 1/(L1*s), - C1*s - 1/(L1*s), 0]
[ -1, 0, 0, 0]
b_ =
0
0
0
-Vs
预期(电容电压作为输出):
A =
[ 0, 1/C1 ]
[ -1/L1, -R/L1 ]
B =
[ 0, 1/L1 ]
C =
[ 1, 0 ]
D =
[ 0 ]
states = [sVC1 sIL1]
input = [ Vs ]
【问题讨论】:
标签: matlab symbolic-math state-space