how can I declare a persistent variable as single precision?

Hi, I develop in matlab functions there is a simulator which is developed in simulink which calls a function in matlab. I get the parameters values from Simulink as singles I need to declare my variables in singles too , is it possible to change the default in matlab (not simulink)as singles instead of double? the big problem is that I didnt succeed to change the persistent variables to singles, thanks

Antworten (1)

For MS Windows only, there is an undocumented feature() call that can cause variables to default to single precision. It cannot, however, be applied to a single variable, and using it almost always causes nasty problems.
If you want to be sure a variable is stored as single precision in MATLAB, then make sure it is in single precision, either through computation path or by using single() on the expression, such as
MyPersistentVariable = single(SomeExpression);

2 Kommentare

LiAS
LiAS am 11 Apr. 2016
Bearbeitet: Walter Roberson am 11 Apr. 2016
thanks,
the problem is with the persistent variables
can you write this more specific
I wrote:
persistent MyPersistentVariable ;
% how can I declare it as single?
if isempty(MyPersistentVariable )
MyPersistentVariable =0; % suppose here it's too late
end
persistent MyPersistentVariable ;
if isempty(MyPersistentVariable )
MyPersistentVariable = single(0.0);
end

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Simulink finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 11 Apr. 2016

Kommentiert:

am 11 Apr. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by