codegen incorrect argument data type in Matlab example

20 views (last 30 days)
Greg Kirwin
Greg Kirwin on 7 Jul 2021
Commented: Raymond Norris on 8 Jul 2021
I am trying to use the parfor command and am trying out two of the examples given on the parfor page, but neither will compile due to an issue with codegen. I have the following saved in a file as test_parfor.m
function a = test_parfor %#codegen
a = ones(10,256);
r = rand(10,256);
parfor i = 1:10
a(i,:) = real(fft(r(i)));
Then, I run
codegen test_parfor
but I receive the error
"Check for incorrect argument data type or missing argument in call to function 'codegen'."
I also tried manually specifying the MEX configuration:
codegen -config:mex test_parfor
to no avail.
I cannot run the second example, either, using the function specify_num_threads. My first thought is that I might be calling the function when it's not in my current path, but that's not the case. I also looked at some common issues with codegen and it looks like there may be compiler compatibility issues with Unix (I'm using MacOS), but I also have XCode 11 installed, so that shouldn't be the problem either. I'd appreciate any help with this.

Answers (1)

Raymond Norris
Raymond Norris on 7 Jul 2021
There are several codegen functions/methods
  • MATLAB Coder
  • Control Toolbox
Is it possible you have Control Toolbox installed, but not MATLAB Coder (or perhaps you don't have MATLAB Coder licensed)? To check, run
license inuse
license test matlab_coder
Raymond Norris
Raymond Norris on 8 Jul 2021
I don't support MATLAB Coder, but if you want codegen from MATLAB Coder, then yes, you'd need MATLAB Coder installed. Not aware of what codegen in Control Toolbox does -- just aware that it exists. It's possible this is creating the error.

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!