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

15 visualizzazioni (ultimi 30 giorni)
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 Commento
budi raharjo
budi raharjo il 1 Lug 2018
Modificato: budi raharjo il 2 Lug 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

Accedi per commentare.

Risposta accettata

Birdman
Birdman il 2 Nov 2017
Why interpreted matlab function for a function like this? Can't you use instead Data Type Conversion block for it?
  5 Commenti

Accedi per commentare.

Più risposte (1)

Xiaoxiong Zhang
Xiaoxiong Zhang il 8 Mag 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 Commenti
Zihao Qi
Zihao Qi il 9 Giu 2021
Hi,Ting Liang,
Excuse me,
I encountered the same problem too,have you solved this problem now?

Accedi per commentare.

Categorie

Scopri di più su Event Functions in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by