The 'ss' class does not support code generation.

I am trying to implement kalman fiter in simulink, so I am using MATLAB function block to get the gains of Kalman filter. But I Can't resolve this error: "The 'ss' class does not support code generation." I attached a photo of my code.

 Respuesta aceptada

Paul
Paul el 3 de Feb. de 2023
Hi Bavly,
The only two lines in that function (it would be better if you pasted in text, rather than a screen capture) that are not eligible for code generation are the definition of the plant and the call to kalman. The following approach might work
Define a separate m-function on your path
function L = mykalman(A,B,C,D,Q,R)
[kalmf,L] = kalman(ss(A,B,C,D),Q,R);
end
Then the code in the Matlab Fucntion would be:
function [A,B,C,D,L] = fcn(R0,R1,R2,C1,C2,Em,Soc)
coder.extrinsic('mykalman')
% put lines of code here to compute A,B,C,D,Q,R, then
L = mykalman(A,B,C,D,Q,R);
end
Alternatively, you might want to take a look at: Kalman Filter block

1 comentario

Bavly Atef
Bavly Atef el 3 de Feb. de 2023
Great, thanks alot
It worked, but first I had to preinitialize L .

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2022b

Preguntada:

el 2 de Feb. de 2023

Comentada:

el 3 de Feb. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by