Why do I receive an error about number of output arguments when using an MATLAB file S-function in Simulink 6.0 (R14) which simulates correctly in earlier versions?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I receive an error about number of output arguments when using an MATLAB file S-function in Simulink 6.0 (R14) which simulates correctly in earlier versions.
I have a model which contains an MATLAB file S-function created in MATLAB 6.5.1 (R13SP1). This function simulates with no errors when ran in Simulink 5.1 (R13SP1) and earlier versions. However, when I attempt to simulate the same model and S-function in Simulink 6.0 (R14), I receive the following error:
Error in 'untitled/S-Function' while executing MATLAB file
S-function 'my_sfun', flag = 0 (initialize), at start
of simulation. MATLAB error message:
One or more output arguments not assigned during call
to '$MATLAB\work\my_sfun.m (my_sfun)'
(where $MATLAB = the MATLAB root directory on your machine)
Akzeptierte Antwort
MathWorks Support Team
am 5 Aug. 2010
In Simulink 6.0 (R14), the variable str must be initialized in the case where flag = 0 (Initialization) when it was not necessary in earlier versions. As a workaround, try adding:
str = [];
to the case where flag = 0 in your MATLAB file S-function. Also, you can use
[sys,x0,str, ts] = mdlInitializeSizes;
and declare str in mdlInitializeSizes. This is the approach given in the example S-function template sfuntmpl.m.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Simulink Environment Customization finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!