我是靠谱客的博主 重要发夹,最近开发中收集的这篇文章主要介绍Simulink 简单实现滑动窗口算法读取输入数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

滑动窗口算法:可以将双层嵌套的循环问题,转换为单层遍历的循环问题。使用两个指针一左一右构成一个窗口,就可以将二维循环的问题转化成一维循环一次遍历,相当于通过旧有的计算结果对搜索空间进行剪枝,使时间复杂度从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 简单实现滑动窗口算法读取输入数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

相关文章

评论列表共有 0 条评论

立即
投稿
返回
顶部