Hello guys,
Im trying to calculate my lqr gains online, im having some troubles with the simulation, i get the error message saying
Function output 'Kr' cannot be an mxArray in this context. Consider preinitializing the output variable with a known type.
Errors occurred during parsing of MATLAB function
Here is the code, I am trying to obtain the Kr(1,1) in this case.
% code
function Kr = fcn(u)%#codegen
eml.extrinsic('lqr'); a = 1.3629;b = 1.2996;Cf = 16000;Cr = 16000;Cr2 = 15000;I = 2761;l = a+b;m = 2024.65;w = 2e-7;a11 = -2*(Cf+Cr)/(m*u);a12 =(2*(b*Cr - a*Cf)/(m*u))-u;a21 = 2*(b*Cr-a*Cf)/(I*u);a22 = -2*(b^2*Cr+a^2*Cf)/(I*u);b1 = 0;b2 = 1/I;A = [a11 a12; a21 a22];B = [b1; b2];Q = [0 0; 0 1];R = [w];Kr = lqr(A,B,Q,R); end
Best Answer