Double to Logical convertion in Simulink

24 views (last 30 days)
Dear friends!
So i have an array of boolean like this:
[0 1 0 1 1 1 1 0 0 1 0]
If you plot it in Matlab, you get something like this:
And the values are exactly 0 and 1.
Now I put this array into a .mat file and send it to a Simulink model, where there is a function that actually takes boolean values, so i use conversion like this:
Now, if you plot the input array of 1 and 0 alongside the converted values, you will get this:
Notice, that most of the values are converted correctly, while at the end of the array, some values of the 'actual' array, are not quite zero, but 1.11e-15. Since they are not zero, I believe, they get converted into a '1' in boolean terms. The lower figure shows a zoomed in part of one of the points.
So, my question is why, oh, why is it like this?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 25 Jan 2021
  1. Change the settings of the "From File" block. Do not do interpolation or extrapolation.
  2. The boolean data type could be saved with the .mat file, so you don't need the data type conversion block.
  1 Comment
Alexander Babin
Alexander Babin on 25 Jan 2021
great, thanks!
about boolean type in .mat files - thanks again, knew that, was gonna do that :)

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!