Error with Calling "dcmecef2ned" in Simulink

15 visualizaciones (últimos 30 días)
Richard
Richard el 18 de Nov. de 2025
Comentada: Paul el 3 de Dic. de 2025 a las 21:16
I am trying to run a Simulink model I initially created with Matlab 2022b on 2024b. I get the following error when I try to run the code.
"Function 'dcmecef2ned' not supported for code generation."
It use to work, but now it does not on 2024b. Is there a fix for this?

Respuestas (1)

Paul
Paul el 19 de Nov. de 2025
Hi Richard,
In which version did it used to work? I'm assuming you're calling dcmecef2ned from inside a MatlabFunction block?
Maybe the block Direction Cosine Matrix ECEF to NED would be helpful?
  4 comentarios
Richard
Richard el 3 de Dic. de 2025 a las 9:06
Paul, I was using this with Matlab 2022b with no issues.
Paul
Paul el 3 de Dic. de 2025 a las 21:16
Seeing same issue with code not being generated on R2024A.
If you want to use the toolbox function, then you need to declare it in the Matlab Function block using coder.extrinsic and preallocate the output. Might slow down the runtime, but you might not notice. Something like this:
function y = fcn(u)
coder.extrinsic('dcmecef2ned');
y = zeros(3,3);
y = dcmecef2ned(u(1),u(2));
end
If you want to stay with your current solution then you might consider not using the deg2rad and instead compute cang and sang wth cosd and sind respectively. Then you'll get the exact results as expected for the angles of 90,180,270 which can be nice for test cases (at a minimum).

Iniciar sesión para comentar.

Categorías

Más información sobre Aerospace Applications en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by