The 'ss' class does not support code generation.

10 vues (au cours des 30 derniers jours)
Bavly Atef
Bavly Atef le 2 Fév 2023
Commenté : Bavly Atef le 3 Fév 2023
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.

Réponse acceptée

Paul
Paul le 3 Fév 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 commentaire
Bavly Atef
Bavly Atef le 3 Fév 2023
Great, thanks alot
It worked, but first I had to preinitialize L .

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by