Error with Calling "dcmecef2ned" in Simulink

16 views (last 30 days)
Richard
Richard on 18 Nov 2025 at 16:33
Commented: Paul on 3 Dec 2025 at 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?

Answers (1)

Paul
Paul on 19 Nov 2025 at 17:54
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 Comments
Richard
Richard on 3 Dec 2025 at 9:06
Paul, I was using this with Matlab 2022b with no issues.
Paul
Paul on 3 Dec 2025 at 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).

Sign in to comment.

Categories

Find more on Aerospace Applications in Help Center and File Exchange

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!