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

3 vues (au cours des 30 derniers jours)
Kaung
Kaung le 6 Août 2022
Commenté : Kaung le 8 Août 2022
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);

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 8 Août 2022
Good news. It seems it is available in R2021b, but not in R2021a. Check
  2 commentaires
Rik
Rik le 8 Août 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 le 8 Août 2022
Thanks @Fangjun Jiang and @Rik for the inputs!
I just copied and pasted the code with ans :D

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink Functions dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by