how can I declare a persistent variable as single precision?

14 Ansichten (letzte 30 Tage)
LiAS
LiAS am 11 Apr. 2016
Kommentiert: Walter Roberson am 11 Apr. 2016
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)

Walter Roberson
Walter Roberson am 11 Apr. 2016
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
Walter Roberson
Walter Roberson am 11 Apr. 2016
persistent MyPersistentVariable ;
if isempty(MyPersistentVariable )
MyPersistentVariable = single(0.0);
end

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Simulink 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!

Translated by