How can I select the working dimension by supplying the DIM argument?

While generating C code for below code:
a= [1 2 3 4 5];
u = a/max(a);
I am getting error:
The working dimension was selected automatically, is variable-length, and has length 1 at run time. This is not supported. Manually select the working dimension by supplying the DIM argument.
How can I solve this?

2 Comments

Read the help for max. Look at the various ways you can use the max function.
Use elementwise division. u = a./max(a); "dot" is important.

Sign in to comment.

Answers (1)

In the Extended Capabilities section of the documentation page for the max function, expand the "C/C++ Code Generation" item. The page linked in the third bullet in that item, "Variable-Sizing Restrictions for Code Generation of Toolbox Functions", offers some explanation and a suggestion for how to resolve the problem.

Asked:

on 7 Nov 2019

Answered:

on 19 Oct 2020

Community Treasure Hunt

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

Start Hunting!