Implicit scalar expansion doesn't work in MATLAB function block.

3 views (last 30 days)
I spent quite a lot of time trying to figure out why the same piece of function runs in MATLAB but not in a MATLAB function block called by Simulink. Then, I saw this post made two years ago about how implicit scalar expansion doesn't work for MATLAB function blocks for some reason and using bsxfun is one way to get around that. I just wanted to check if there's any update on this issue.. I'd rather not write two separate versions of the same thing if I can avoid it.
function ans = fcn()
ans = ones(4,3) .^ ones(4,1);

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 8 Aug 2022
Good news. It seems it is available in R2021b, but not in R2021a. Check
  2 Comments
Rik
Rik on 8 Aug 2022
Although since there are no plans to remove bsxfun, you can safely write the one version with that.
And @Kaung, please don't use ans as a variable. Those code tricks you learn from Cody are terrible in every other situation.
Kaung
Kaung on 8 Aug 2022
Thanks @Fangjun Jiang and @Rik for the inputs!
I just copied and pasted the code with ans :D

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!