自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何通過Simulink實現(xiàn)數(shù)據(jù)滾動刷新

開發(fā) 前端
最近有腳友提問,如何在Simulink中實現(xiàn)數(shù)據(jù)的實時滾動?今天借助這篇文章回答一下。對于這個問題,用C代碼或者m語言實現(xiàn)可能大家都會,就是把數(shù)據(jù)進行右移和賦值操作。

最近有腳友提問,如何在Simulink中實現(xiàn)數(shù)據(jù)的實時滾動?今天借助這篇文章回答一下。

對于這個問題,用C代碼或者m語言實現(xiàn)可能大家都會,就是把數(shù)據(jù)進行右移和賦值操作。用Simulink基本模塊搭建,以前沒有接觸過的可能會有些困難。所以,本文將介紹如何通過Simulink實現(xiàn)數(shù)據(jù)滾動。

Simulink建模思路跟C代碼實現(xiàn)的方式基本一致,也是主要分為右移、賦值兩部分,最終搭建的模塊如下圖所示。

 

如何通過Simulink實現(xiàn)數(shù)據(jù)滾動刷新

上圖中紅框中的右移子系統(tǒng)內(nèi)部需要迭代器和分配器配合使用,如下圖所示。

 

如何通過Simulink實現(xiàn)數(shù)據(jù)滾動刷新

迭代器用于在一個步長內(nèi)連續(xù)輸出N個數(shù)值,可用于遍訪數(shù)組內(nèi)部的數(shù)據(jù),非常適合對數(shù)組進行索引操作,是對數(shù)組類型數(shù)據(jù)處理的神器。

分配器用于對數(shù)組進行指定位置的數(shù)據(jù)賦值。Y0是當前待處理數(shù)組,Idx1是數(shù)組的某一位索引,U是數(shù)組某一位具體的數(shù)值。假設(shè)Idx1=a,U=b,表達的意思就是將數(shù)組Y0的第a位數(shù)值替換為b。

所以上圖中,通過迭代器和分配器配合,在每一個仿真步長,將數(shù)組的每一位向下一位賦值,實現(xiàn)該子系統(tǒng)右移的功能。

上圖綠框中的賦值部分相對就比較簡單,只有一個分配器,即將實時刷新的值賦值到第一位,實現(xiàn)數(shù)據(jù)更新。

下面進行簡單的仿真驗證,先進行模塊基本設(shè)置。

這里設(shè)置滾動的數(shù)組長度為5,初始值為0,所以Delay模塊給定數(shù)組[0 0 0 0 0]。

 

如何通過Simulink實現(xiàn)數(shù)據(jù)滾動刷新

模型中迭代器長度設(shè)置為4,因為我們只需要對數(shù)組第一位以外的進行處理。

 

如何通過Simulink實現(xiàn)數(shù)據(jù)滾動刷新

兩處分配器都可以設(shè)置為One-based,Index vector(port)。

 

如何通過Simulink實現(xiàn)數(shù)據(jù)滾動刷新

實時更新的數(shù)據(jù)我們給定一個線性增長的ramp,初始值為0,斜率為1,然后進行步長為1s的定步長仿真,結(jié)果如下圖。

 

如何通過Simulink實現(xiàn)數(shù)據(jù)滾動刷新

從圖中可以看出:

  • 初始時刻數(shù)組的第一到第五位均為0,即[0 0 0 0 0];
  • 1s時,數(shù)組的第一位被刷新為1,即[1 0 0 0 0];
  • 2s時,數(shù)組的第一位被刷新為2,第二位被1s時第一位的1覆蓋,即[2 1 0 0 0];
  • 3s時,數(shù)組的第一位被刷新為3,第二位被2s時第一位的2覆蓋,第三位被2s時第二位的1覆蓋,即[3 2 1 0 0];
  • ……

實現(xiàn)了數(shù)據(jù)的實時滾動刷新。

以上,通過Simulink的方式實現(xiàn)了數(shù)據(jù)的滾動刷新,在MBD開發(fā)過程還是有很大使用前景的。不管是車輛的能耗計算,還是動態(tài)規(guī)劃等算法的實施,你可能都會用到滾動刷新的實時數(shù)據(jù)。

責任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2023-11-22 07:47:34

2012-04-12 10:19:08

Ajax.NET

2011-09-02 10:14:10

JQuery滾動Xslider

2020-04-03 10:54:38

多云歸檔備份

2009-11-24 16:09:44

PHP Ajax

2013-04-02 13:04:07

ListView平滑滾

2024-07-02 10:00:55

2021-04-12 13:07:36

數(shù)據(jù)治理數(shù)據(jù)資產(chǎn)CIO

2010-04-14 09:41:10

Oracle數(shù)據(jù)備份

2023-08-02 08:03:08

Python線程池

2013-07-17 16:33:02

下拉刷新listvie滾動到底部加載Android開發(fā)學(xué)習(xí)

2011-07-22 13:30:52

JavaScript

2012-05-10 14:02:46

jQuery

2011-09-02 10:03:40

jQuery滾動圖片

2024-01-22 09:28:23

CSS前端滾動驅(qū)動

2021-11-29 11:00:54

數(shù)據(jù)安全加密軟件技術(shù)

2024-04-17 12:59:18

前端Token開發(fā)

2021-04-26 15:43:59

數(shù)據(jù)驅(qū)動智能樓宇樓宇自動化

2009-01-03 14:54:40

ibmdwXML
點贊
收藏

51CTO技術(shù)棧公眾號