Double to Logical convertion in Simulink

61 次查看(过去 30 天)
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?

采纳的回答

Fangjun Jiang
Fangjun Jiang 2021-1-25
  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 个评论
Alexander Babin
Alexander Babin 2021-1-25
great, thanks!
about boolean type in .mat files - thanks again, knew that, was gonna do that :)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by