Unexpected behavior with From Workspace block in Simulink
1 次查看(过去 30 天)
显示 更早的评论
The From Workspace block for Simulink is supposed to output data based on the time column in the variable. I have a model at a sample rate 5 times faster than the From Workspace, ie: 0.05 for Data, 0.001 for Model.
When I record the data from the From Workspace block at the Model sample rate of 0.001, I mostly see the data repeated 5 times but sometimes I see it repeated 6 times followed by 4 times for the next. This creates errors in my calculations because the expected data is wrong:
ie, 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2 <- extra "2" 3 3 3 3 too little "3" 4 4 4 4 4
0 个评论
采纳的回答
Kaustubha Govind
2013-5-29
(I presume you meant that 0.01 is your model's sample rate, because 0.05 is 50 times 0.001, not 5 times)
This looks like an floating-point/accuracy issue - 0.05*3 is slightly larger than 0.01*15:
>> format hex
>> 0.01*15
ans =
3fc3333333333333
>> 0.05*3
ans =
3fc3333333333334
Which is why, for the 15th sample, the previous data point (=2) is used.
Perhaps you can adjust the time column of the imported variable so that it is multiples of 0.01 instead of 0.05?
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Event Functions 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!