Effacer les filtres
Effacer les filtres

Matlab simulink error: Only finite double vector or matrix outputs are supported.

68 vues (au cours des 30 derniers jours)
In my simulink model where i am using block "Interpreted Matlab function" and the function is:
function test = testFunc()
test = [int16(0) int16(0)]
i get error :
An error occurred while running the simulation and the simulation was terminated Caused by:
Error in 'test2/Interpreted MATLAB Function'. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix outputs are supported
Edit: It crashes in second iteration
What am i doing wrong? Thanks for help
  1 commentaire
budi raharjo
budi raharjo le 1 Juil 2018
Modifié(e) : budi raharjo le 2 Juil 2018
I have tried by use coder.nullcopy() and it works.
function d=functionsx(s)
a=[5 5 6; 7 6 8];
b=a+s;
d = coder.nullcopy(zeros(size(b)));
d=b

Connectez-vous pour commenter.

Réponse acceptée

Birdman
Birdman le 2 Nov 2017
Why interpreted matlab function for a function like this? Can't you use instead Data Type Conversion block for it?
  5 commentaires
Birdman
Birdman le 2 Nov 2017
At the end of the page, you'll see Characteristics pane and there, Data Types->Double is written

Connectez-vous pour commenter.

Plus de réponses (1)

Xiaoxiong Zhang
Xiaoxiong Zhang le 8 Mai 2019
Maybe your function output is not a double type data, change your output to a double type data and see if it works? I have met the same problem before and I solve it out by changing my output data to double type using "output=double(output)". Hope this is helpful.
  3 commentaires
Zihao Qi
Zihao Qi le 9 Juin 2021
Hi,Ting Liang,
Excuse me,
I encountered the same problem too,have you solved this problem now?

Connectez-vous pour commenter.

Catégories

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

Community Treasure Hunt

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

Start Hunting!

Translated by