Creating a persistent variable type single

4 views (last 30 days)
Terry Sherman
Terry Sherman on 25 Apr 2011
Suppose I want to create a persistent variable but I wanted that variable's data type to be a single. By default MATLAB creates doubles. How can I have them be singles?
(As a background I am using Simulink to model a plant and its controller. I am using Embedded MATLAB as the code for the controller. I want the data types to mimic the data types in the final DSP I'll use in my product. So I want the Embedded MATLAB to run using the single rather than double)
I have tried the following but it does not work:
persistent Accumulated_I_Error;
if isempty(Prev_Line_Voltage_ADC)
Accumulated_I_Error = single(0);
end
...
Accumulated_I_Error = a + b;
...
I receive a compile error of: Class mismatch (single ~= double). The class to the left is the class of the left-hand side of the assignment.

Answers (1)

Sean de Wolski
Sean de Wolski on 25 Apr 2011
What classes are a & b?
Does the error occur on that line?
  1 Comment
Terry Sherman
Terry Sherman on 25 Apr 2011
The error occurs on the line Accumulated_I_Error = single(0); I was hoping that the data types of 'a & b' are irrelevant if I declared the type of Accumulated_I_Error. I am in the process of casting a & b to see if that matters.

Sign in to comment.

Categories

Find more on Simulink in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!