how to add a state space representation with identifiable parameters into a Matlab function or a any block?

3 次查看(过去 30 天)
Hello everyone,
I found a way to add the disturbances into the state space representation but I don't know how create a block for that,
so I have created a matlab function with the code,
function [SOC,LOH] = statespace(PH2,Pgrid,d)
A = [1 1;1 1];
B = [0.0936 0.0936;-0.339 0];
C = [1 1;1 1];
D = 0;
K = [0.0936;0];
[SOC,LOH] = idss(A,B,C,D,K);
end
so the figure 1 is what i tried to do with the code above, and figure 2 is the state space representation with disturbances,
and the error is:

回答(1 个)

Sam Chak
Sam Chak 2023-4-12
I'm unfamiliar with your system (probably something to do with the state of charge of an energy storage system).
However, the Output Matrix , because it implies both outputs are the same .
Please check the matrix equations again.
A = [1 1; % state matrix
1 1];
B = [0.0936 0.0936; % input matrix
-0.339 0];
C = [1 1]; % output matrix
D = zeros(1, 2); % direct matrix
K = [0.0936; 0]; % disturbance matrix
sys = idss(A, B, C, D, K)
sys = Discrete-time identified state-space model: x(t+Ts) = A x(t) + B u(t) + K e(t) y(t) = C x(t) + D u(t) + e(t) A = x1 x2 x1 1 1 x2 1 1 B = u1 u2 x1 0.0936 0.0936 x2 -0.339 0 C = x1 x2 y1 1 1 D = u1 u2 y1 0 0 K = y1 x1 0.0936 x2 0 Sample time: unspecified Parameterization: FREE form (all coefficients in A, B, C free). Feedthrough: none Disturbance component: estimate Number of free coefficients: 12 Use "idssdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Created by direct construction or transformation. Not estimated.
x0 = [0.1, 0.1];
Ts = 0.1;
% sys = idss(A, B, C, D, K, x0, Ts)

类别

Help CenterFile Exchange 中查找有关 Event Functions 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by