Error with Calling "dcmecef2ned" in Simulink

9 次查看(过去 30 天)
Richard
Richard 2025-11-18,16:33
评论: Paul 2025-11-19,22:59
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?

回答(1 个)

Paul
Paul 2025-11-19,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?
  2 个评论
Richard
Richard 2025-11-19,19:24
编辑:Richard 2025-11-19,19:27
Paul, I am using Matlab 2024b. The dcmecef2ned function is in the Aerospace Toolbox. The function is embedded in a user-defined Matlab function block that I am calling within my Simulink model, thus I can't use the block Direction Cosine Matrix ECEF to NED.
I ended up coping the function, renaming it to "my_dcmecef2ned.m" and deleting the error checking at the beginning of the script. I modified the following function call in the script as follows:
Was:
angles = convang( [lat(:) lon(:)] ,'deg','rad');
Is:
angles = deg2rad([lat lon]);
This worked. I am not sure why I can't use the default function in Matlab.
Paul
Paul 2025-11-19,22:59
The cited doc page does not include an "Extended Capabilities" section indicating that the function is eligible for Code Generation. So I'm not surprised that it doesn't work inside the MatlabFunction block. I'm more surprised that it did work in a previous version, hence my question regarding which version that was.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Aerospace Applications 的更多信息

产品


版本

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by