using get_Param inside an S-function

function [sys]= mdlOutputs(t,x,u,flag,Label)
tSTOP = get_param('Model','StopTime');
if(tSTOP == (1000*ceil(t/1000)))
fclose(FID);t
end
sys = [];
return;
end
tSTOP is not seen inside the 'if' loop. The value of 't' does not get printed out. If I replace tSTOP with the numerical value of tTSOP it works fine. Any help is appreciated.

3 comentarios

Aswartha Narayana
Aswartha Narayana el 28 de Nov. de 2011
How do I convert the output of get_Param to make it suitable for use in 'if' loop. Using 'round' did not work.
Aswartha Narayana
Aswartha Narayana el 28 de Nov. de 2011
using str2num did work; the output of get_param here appears to be a string.
Walter Roberson
Walter Roberson el 8 de Dic. de 2011
There is no such thing as an if loop.

Iniciar sesión para comentar.

Respuestas (2)

Aswartha Narayana
Aswartha Narayana el 28 de Nov. de 2011

0 votos

use str2num to convert the character string that results from get_param() into a number. The number is then suitable for use in 'if' loop.
Guy Rouleau
Guy Rouleau el 29 de Nov. de 2011

0 votos

What you are doing (closing the file) should be done in mdlTerminate!

Categorías

Preguntada:

el 28 de Nov. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by