Problem in writing MATLAB code of Simulink model (state space)

1 visualización (últimos 30 días)
Abdullah Irfan
Abdullah Irfan el 23 de Jul. de 2019
Comentada: Abdullah Irfan el 24 de Jul. de 2019
Hi, I want to write my simulink model into state space model.
Pictures of my simulink model are attached. What I tried so far (and isn't working) is:
dt=0.01;
t=0:dt:10;
for i=1:length(t)
x=A*x+B*u;
u=(G*ref-K*x);
x = cumtrapz(x);
% fun = @(x) x;
% x = integral(fun,0,Inf);
pause;
end
But its results are way different than that of simulink model. Kindly guide me how should I do it.
SharedScreenshot.png
SharedScreenshot1.png

Respuestas (1)

Raj
Raj el 24 de Jul. de 2019
"I want to write my simulink model into state space model" - Your simulink model is pretty straightforward and already in standard form:
xdot=Ax+Bu
y=Cx+Du
You have your A,B & C matrices. D is zero in your case. There is no need to use the MATLAB function block to complicate things. Just use the Simulink State Space block. Feed in the matrices and you are done!!
  1 comentario
Abdullah Irfan
Abdullah Irfan el 24 de Jul. de 2019
"There is no need to use the MATLAB function block to complicate things. Just use the Simulink State Space block. Feed in the matrices and you are done!!"
I was doing the same. But then I needed to transmit data serially and take data from the other device while this model is working.
I tried to use serial send/receive blocks but they were complicating the things, so my last resort is to convert block parameters into matlab code. I think real problem is integration block, I don't know which command replicates simulink integration block (integral, trapz and cumtrapz aren't those at least)

Iniciar sesión para comentar.

Categorías

Más información sobre Event Functions en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by