概述
滑动窗口算法:可以将双层嵌套的循环问题,转换为单层遍历的循环问题。使用两个指针一左一右构成一个窗口,就可以将二维循环的问题转化成一维循环一次遍历,相当于通过旧有的计算结果对搜索空间进行剪枝,使时间复杂度从O(n²)降低至O(n)。
上图来源 https://blog.csdn.net/king0406/article/details/103129786
本文搭建simulink模型如下
目的:实现 长度为1s(即十个数据)的滑动窗口,其在每个仿真步长内前进0.1s,并将十个数据实时输出
MATLAB Function 内的代码:
function y = fcn(u)
%#codegen
y=zeros(10,1);
%
persistent data
%用于保存实时输入的数据
if isempty(data)
data=zeros(3000000,1);%根据仿真时长取值
end
persistent n
%用于对输入的数据个数计数
if isempty(n)
n=1;
else
n=n+1;
end
data(n,1)=u;
if n>=10
y=data(n-9:n,1);
end
仿真结果:
最后
以上就是重要发夹为你收集整理的Simulink 简单实现滑动窗口算法读取输入数据的全部内容,希望文章能够帮你解决Simulink 简单实现滑动窗口算法读取输入数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复