MATLAB Coder Onramp Issue - Section 4 Call C Code from MATLAB

조회 수: 8 (최근 30일)
Jason
Jason 2024년 12월 24일
답변: Cris LaPierre 2025년 2월 3일
Hi all,
I am currently running through some of the learning materails online for both MATLAB and Simulink. I have started going over the MATLAB Coder Onramp which goes through the mecanisms for generating C code from MATLAB. This is using the website based version of the courses and as such the MATLAB environement is within the web browser itself.
However, I seem to be stuck at section 4 "Call C Code From MATLAB - Verify Generated Code". The task asks the following,
To generate a MEX function, you don't need to specify a configuration because the codegen function generates MEX by default.
codegen fcn -args {var} -report
If your function has input arguments and you want a code generation report, you can continue using args and report.
Task
Generate MEX code for the detectpH function. Use I2 as the example input.
The code may take up to ten seconds to generate.
Now I have added my result and compared this to the "See Solution" and it is the same
codegen detectpH -args {I2} -report
However, when I select Submit, I get an error using Codegen. I have cleared my entry, closed and reopened the course and even copied and pasted the result from the "See Solution" too to make sure there were no spelling mistakes but still no luck.
I am wondering if this is an issue to do with the in browser environment perhaps?
I did have issues with generating the C code earlier in the course, but as the training allowed me to continune, I assumed this was going to be dealt with in the next sections.
Hopefully I am doing something daft and its a simple fix.
I have attached the Build Log for additional infromation.
Thanks,
Jason
  댓글 수: 3
Sehyun Cho
Sehyun Cho 2024년 12월 30일
I got the same problem.
Mitchell
Mitchell 2025년 1월 4일
I have the same issue.

댓글을 달려면 로그인하십시오.

채택된 답변

Tushar Sharma
Tushar Sharma 2025년 1월 6일
Hi Jason,
I encountered a similar issue and found a workaround that seems to work well. You can add the "jit" flag at the end of the "codegen" command. This allows MATLAB Online to compile the MATLAB code into machine code at runtime, instead of interpreting it line by line.
For instance, to complete this task successfully, you can use the following line of code:
codegen detectpH -args {I2} -report -jit
Hope it helps!
  댓글 수: 3
Jason
Jason 2025년 1월 6일
Note - This issue occurs further in the same course.
Section 5. Adjust Function Inputs - Allow Different Input Sizes. Task 2 asks the following;
"Generate MEX code for the detectpH function. Use myargs to set the input type.
The code may take up to ten seconds to generate."
Again the result I had was the same as the "See Solution" but this did not work. Adding the -jit to the end fixed this issue.
Jack
Jack 2025년 1월 22일
codegen detectpH -args myargs -report -jit works for section 5

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

David
David 2025년 1월 18일
Update to this. I'm actually in the middle of the MATLAB Coder Onramp. The '-jit' fixed several of the problems but in one of the exercises (Configure Generated Code -> Change Code Configuration Settings -> Task 3), if you leave off the -jit, you get an error about <limits.h> missing. However, if you add -jit, you still get that error plus this warning:
Warning: JIT compilation is supported only for MEX generation.
I emailed our MathWorks AE (who pointed me to this post) but he had left for the day and will be out at a conference next week.
Thanks,
David
  댓글 수: 1
Cris LaPierre
Cris LaPierre 2025년 1월 20일
Adding -jit is just a workaround for the original issue. MathWorks is aware of the issue and the appropriate development teams are already working on it.

댓글을 달려면 로그인하십시오.


Cris LaPierre
Cris LaPierre 2025년 2월 3일
The issue has been fixed. It is no longer necessary to add '-jit' to your solution.

카테고리

Help CenterFile Exchange에서 Code Verification에 대해 자세히 알아보기

제품


릴리스

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by