国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

電子商務(wù)網(wǎng)站建設(shè)商城網(wǎng)站百度網(wǎng)站推廣一年多少錢

電子商務(wù)網(wǎng)站建設(shè)商城網(wǎng)站,百度網(wǎng)站推廣一年多少錢,股票交易網(wǎng)站建設(shè),電子商務(wù)的網(wǎng)站建設(shè)分析目錄 一、前言 二、Simulink 知多少 三、濾波算法 四、Model Verification 五、Model Coverage 六、Simulink測試實例 七、Simulink Test 八、Test Manager 九、Test Harness 十、 學(xué)習(xí) 一、前言 Simulink從2017b以后更加工程化和實用化,基于MBD的功能日趨…

目錄

一、前言

二、Simulink 知多少

三、濾波算法

四、Model Verification

五、Model Coverage

六、Simulink測試實例

七、Simulink Test

八、Test Manager

九、Test Harness?

?十、 學(xué)習(xí)


一、前言

Simulink從2017b以后更加工程化和實用化,基于MBD的功能日趨完善,從需求定義、模型鏈接,測試用例,模型測試,代碼生成等等,那對于初識它的朋友可能需要先了解一些前期知識,然后在項目和工程中實戰(zhàn)積攢經(jīng)驗,變成一個老手。

二、Simulink 知多少

派生對象包括Simulink Signal ,Simulink Parameter, Simulink Bus, Simulink Alias, Simulink Variant, 創(chuàng)建方式包括在腳本以構(gòu)造函數(shù)的方法創(chuàng)建,在模型瀏覽器創(chuàng)建。

Simulink Parameter是Simulink 參數(shù)對象?, 在工程中常以配置參數(shù)的方式設(shè)置; Simulink Lookup Table是與lookup table模塊相對應(yīng)的數(shù)據(jù)類型,插值點和插值點對應(yīng)數(shù)據(jù)的集合。Breakpoint是插值點的集合。Simulink Signal是信號,與信號線相關(guān)聯(lián)。Numeric/Alias?Type是其他數(shù)據(jù)類型的別名。Bus是總線,類似于結(jié)構(gòu)體。Simulink.Variant有兩種狀態(tài)滿足條件激活,未激活是0激活是1。

?如何對Bus中的各元素進行初始化,使用Bus Assignment 。

如何保存工作空間數(shù)據(jù)?點擊數(shù)據(jù)工作空間,然后Ctrl+S即可??梢员4?mat或者m文件。

數(shù)據(jù)字典即數(shù)據(jù)源,模型運行時不需要重新加載。使模型和數(shù)據(jù)字典關(guān)聯(lián),模型運行時自動從數(shù)據(jù)字典里搜索數(shù)據(jù)。數(shù)據(jù)字典,可回溯,因為數(shù)據(jù)字典不僅記錄數(shù)據(jù),還記錄對數(shù)據(jù)的修改行為和版本。如何創(chuàng)建數(shù)據(jù)字典?

?手動創(chuàng)建數(shù)據(jù)字典?


Simulink.data.dictionary.create('DataDictionary\dic2.sldd');obj=Simulink.data.dictionary.open('DataDictionary\dic2.sldd');importFromBaseWorkspace(obj,'varList',{'Sig','Var'});listEntry(obj)saveChanges(obj)close(obj)

?Bus針對結(jié)構(gòu)體,Mux可以合成向量,Mux要求多個元素具有相同的數(shù)據(jù)類型。

Selector是Signal Routine里面的模塊,主要用于提取向量或者元素。

Weighted Sample Time Math與采樣時間相關(guān)的模塊

Goto模塊用于連接兩個斷開連線的端口,Goto設(shè)置為Global表示全局可見(其他子系統(tǒng)都可見),設(shè)置為Scoped表示定義范圍內(nèi)可見,此時要結(jié)合Goto Tag Visibility模塊一起使用,表示該層級及該層級以下的子系統(tǒng)均可以識別。

Multiport Switch 可以實現(xiàn)switch case功能。

Signal Specification?模塊是虛擬模塊,允許您指定連接到其輸入和輸出端口上的信號的屬性,如果指定的屬性與其端口上連接的模塊所指定的屬性沖突,Simulink??軟件將在編譯模型時顯示錯誤消息,在模型的仿真中不起任何作用。

零階保持器(ZOH,Zero-Order Hold)是將輸入信號每過一個采樣時間更新一次,并保持到下一次采樣,多用于將連續(xù)信號離散化。

Signal Builder可以生成各式各樣的信號,也可以從workspace和外部導(dǎo)入。

1.創(chuàng)建excel文件

?2.導(dǎo)入到SB中:打開設(shè)置,選擇File下Import from File

?如何查看模型模塊的執(zhí)行順序?

?如何設(shè)置多速率模型?打開Block parameter參數(shù),設(shè)置為原子,然后設(shè)置采樣時間[0.2,0.1]表示偏置為0.1后開始,速率為0.2。

三、濾波算法

3.1 均值濾波

均值濾波是典型的線性濾波算法,是指用當(dāng)前像素點周圍nxn個像素值的均值來代替當(dāng)前像素值。

當(dāng)前是指設(shè)置一個緩沖區(qū)Buf,存儲上N個時刻的值,然后取平均值作為當(dāng)前值。

3.2 中值濾波

中值濾波法是一種非線性平滑技術(shù),它將每一像素點的灰度值設(shè)置為該點某鄰域窗口內(nèi)的所有像素點灰度值的中值。
中值濾波的方法是用某種結(jié)構(gòu)的二維滑動模板,將板內(nèi)像素按照像素值的大小進行排序,生成單調(diào)上升(或下降)的為二維數(shù)據(jù)序列,選取中間的數(shù)值。

3.3 低通濾波

一階低通濾波法采用本次采樣值與上次濾波輸出值進行加權(quán),得到有效濾波值,使得輸出對輸入有反饋作用。濾波系數(shù)越小,濾波結(jié)果越平穩(wěn),靈敏度越低;濾波系數(shù)越大,靈敏度越高,濾波結(jié)果越不穩(wěn)定。

四、Model Verification

模型檢查模塊主要分為基本用途,防止報錯,底層實現(xiàn),結(jié)果觀測,梯度檢測提示

Check Discrete Gradient 模塊用于檢查本時刻和上一時刻差值。

?Assertion模塊對是否為零進行驗證,為零報錯。

Check? Static Range 檢查輸入信號的最大最小值,超出范圍報錯。

五、Model Coverage

執(zhí)行覆蓋度Execution Coverage,EC是最基本的覆蓋形式。對于每個項目,執(zhí)行覆蓋度確定項目是否在仿真期間執(zhí)行

決策覆蓋度Decision Coverage,DC:分析表示模型中決策點的元素,例如 Switch 模塊或 Stateflow 狀態(tài)。對于每個項目,決策覆蓋度確定通過仿真所遍歷的項目的仿真路徑總數(shù)的百分比

條件覆蓋度Condition Coverage,CC:分析輸出其輸入(例如,邏輯運算符模塊)和Stateflow轉(zhuǎn)移的邏輯組合的模塊。當(dāng)測試用例導(dǎo)致模型中邏輯模塊的每個實例的每個輸入以及轉(zhuǎn)移的每個條件在仿真期間至少為真一次,在仿真期間至少為假一次時,測試用例可實現(xiàn)完全覆蓋。條件覆蓋度分析報告測試用例是否完全覆蓋了模型中每個模塊。

收集模型的覆蓋度時,可能無法實現(xiàn) 100% 的條件覆蓋度。例如,如果指定短路邏輯模塊,通過在配置參數(shù)的覆蓋度窗格中選擇將 Simulink 邏輯模塊視為短路,您可能無法實現(xiàn)該模塊的 100% 條件覆蓋度。

修正條件決策覆蓋度MCDC:Simulink Coverage 軟件修正的條件/決策覆蓋度分析擴展了決策和條件覆蓋度功能。它分析輸出其輸入和 Stateflow 轉(zhuǎn)移的邏輯組合的模塊,以確定測試用例測試邏輯模塊輸入和轉(zhuǎn)移條件的獨立性的程度。

  • 當(dāng)一個輸入的變化(獨立于任何其他輸入)導(dǎo)致模塊輸出發(fā)生變化時,測試用例可實現(xiàn)模塊的完全覆蓋。
  • 當(dāng)至少一次條件的更改觸發(fā)每個條件的轉(zhuǎn)移時,測試用例可實現(xiàn) Stateflow 轉(zhuǎn)移的完全覆蓋。

在模型配置中點擊Coverage,勾選Enable coverage analysis,在Coverage metrics中選擇具體的覆蓋度類型,運行模型后會自動彈出覆蓋度窗口。

?

?

?六、Simulink測試實例

具備成為VIP的條件1&&2&&(3||4);1年齡滿18歲,2至少充過100元,3游戲年齡至少1年,4被舉報次數(shù)少于3次

使用Signal Builder作為測試輸入,設(shè)置輸入及輸出VIP

?簡單的模型設(shè)置為:

?子系統(tǒng)為:

?測試輸出結(jié)果:

?打開Simulink Data Inspector

?七、Simulink Test

Test Sequence &&?Test Assessment

使用Test Sequence 模塊可以指定測試步驟,行為,轉(zhuǎn)移。當(dāng)輸入時間序列步驟時,應(yīng)當(dāng)提供時間定義的測試向量。一個test sequence 可以包含測試步驟,且測試步驟是富有層級的,根據(jù)Tag進行跳轉(zhuǎn)。編寫示例:

?Test Assessment與Test Sequence非常類似,但是作為評估仿真測試場景,步驟來使用,關(guān)鍵詞是Verify

示例1:

模型如下:

?設(shè)置TestSequence

?設(shè)置Test Assessment:

?示例2:

1.打開sltestTestSequenceExample

2.右擊shift_controller建立Test Harness,Sources? and Sink 選擇Test Sequence

??3.添加常量Limit設(shè)置為2,并編寫序列步驟

?4.將仿真時間設(shè)置為15s,然后運行test harness

?Simulation Inspector

?示例3:

八、Test Manager

TestManager的組件包含下面的關(guān)系:Test File >Test Suite > Test Case > Simulation = Baseline,

Test File對應(yīng)模型文件,Test Suite 對應(yīng)子系統(tǒng),Test Case 對應(yīng)子功能。

simulation test 不依賴于其他的文件,只要TestHarness可以執(zhí)行通過,那么simulation test也可以通過。Baseline test依賴外部文件,比如期望輸入和輸出。

模型:

simulation test

?然后對每一個子系統(tǒng)建立一個test harness,建立4個harness, constant 作為輸入。

九、Test Harness?

Baseline test?測試模型如下:

?該子系統(tǒng)的功能是對值進行有效性驗證:

?對該子系統(tǒng)創(chuàng)建Test Harness:

?創(chuàng)建Signal Builder信號Group1和Group2:

Test File:一個Test File對應(yīng)一個模型文件

Test Suite:每一個測試文件中,都可以定義若干個Test Suite,可以把同一類型或同一功能的測試用例放到一個Test Suite中
Test Case:每一個Test Suite中,可以定義若干個Test Case,Test Case中規(guī)定了測試詳細的執(zhí)行信息。實際測試執(zhí)行的時候也針對每一個Test Case進行測試的
Create Test Case from External File:測試用例的具體信息從excel模板中提取,這篇文章重點介紹以這種形式來創(chuàng)建測試用例

?在Harness中打開Test Manager,?創(chuàng)建TestFile并對Test Suit和Test case命名,在case中“System Under Test”選擇模型及harness 文件名,Baseline Criteria中加載期望輸出,(如果不會,可以點擊Capture給你創(chuàng)建一個示例),如果有多個輸出,要對列的名字加以命名。

?在“Iterations”欄中點擊“Auto Generate”,并在右上角+號欄選擇Baseline,選擇相應(yīng)的文件

?點擊運行即可生成測試結(jié)果,也可以導(dǎo)出測試報告Report。

?TestCase 設(shè)置項描述:

TAGS:可以給一個標(biāo)簽名,比如按照功能,測試類型等,方便以后批量查找測試用例
DESCRIPTION:可以給描述測試用例的測試步驟,方法等,方便理解
REQUIREMENTS:可以和需求關(guān)聯(lián)。Matlab現(xiàn)在有“Simulink Requirements”這個Toolbox,可以在里面寫需求文檔,將需求和模型,以及對應(yīng)的測試用例關(guān)聯(lián)起來,以滿足A-ASPICE或者ISO26262所規(guī)定的軟件開發(fā)流程中的可追溯性的要求。
SYSTEM UNDER TEST:里面設(shè)置了要被測試的模型,或者針對模型中所創(chuàng)建的某一個Test Harness模型進行測試

PARAMETER OVERRIDES:這里如果是根據(jù)excel模板生成的測試用例的話,是鎖定不能修改的,里面列出了某個測試用例中,需要改變的參數(shù)

CALLBACKS:里面分為3個不同時刻的,運行我們想要的腳本

INPUTS:定義測試的輸入信號,這里如果是根據(jù)excel模板生成的測試用例的話,是鎖定不能修改的。另外這邊有兩個選項可以勾選,如果勾選“Include input data in test result”的話,在最后的結(jié)果中,也會顯示輸入信號。如果勾選“Stop simulation at last time point”的話,仿真測試到最后一個輸入點的時候就會停止。

SIMULATION OUTPUTS:可以在里面再選取模型中l(wèi)ogged的信號作為觀測量
CONFIGURATION SETTINGS OVERRIDES:可以在仿真測試的時候?qū)υP偷脑O(shè)置進行覆蓋
BASELINE CRITERIA:里面設(shè)置了期望值,以及比較仿真測試結(jié)果和期望值的一些參數(shù)。這里如果是根據(jù)excel模板生成的測試用例的話,是鎖定不能修改的。但可以點擊Edit在excel文件中修改。對比數(shù)據(jù)時,可以設(shè)置絕對誤差,相對誤差,時序領(lǐng)先誤差和時序滯后誤差。

ITERATIONS:迭代測試。這里如果是根據(jù)excel模板生成的測試用例的話,是鎖定不能修改的。會根據(jù)測試用例數(shù)自動生成,表示這個測試會根據(jù)不同的配置重復(fù)進行

COVERAGE SETTINGS:統(tǒng)計覆蓋度的設(shè)置。如果需要統(tǒng)計模型的覆蓋度的話,就勾選“Record coverage for referenced models”和“Record coverage for system under test”

test Sequence基本知識:

ramp(et)根據(jù)測試步執(zhí)行的時間返回值,也就是測試步執(zhí)行時間,可以用這個函數(shù)來線性變化輸出,et表示的是當(dāng)前測試步執(zhí)行的時間

Heaviside(x):創(chuàng)建一個階躍信號,x<0時輸出0,x>0時輸出1

swatooth(x)創(chuàng)建一個鋸齒波,要指定測試步驟內(nèi)的鋸齒波周期數(shù),請將此運算符與經(jīng)過時間(et)運算符一起使用;sawtooth(et/10) 10s一個周期的鋸齒波

square(x)創(chuàng)建周期為1且范圍為-1到1的方波。在區(qū)間0<=x<1中,square(x)返回1表示0<=x<0.5,返回-1表示0.5<=x<1。square(et/10) 10s一個周期的方波

triangle(x)創(chuàng)建周期為1且范圍為-1到1的三角形波。在區(qū)間0<=x<0.5時,三角形(x)增加。三角波和鋸齒波的區(qū)別在于三角波的上升和下降時間相等;triangle(et/10)10s一個周期的三角波

verify(expression,errorMessage)為失敗的verify語句返回指定的錯誤消息。如果在Test manager中運行測試,錯誤消息將顯示在仿真日志中。如果在Test manager之外運行測試,則診斷查看器中將顯示該消息

在實時環(huán)境中,驗證語句失敗不會產(chǎn)生警告。但是,如果在Test manager中運行實時測試用例,則失敗將顯示在測試用例結(jié)果的驗證語句部分。還可以使用getVerifyRuns訪問有關(guān)驗證運行的信息

verify(expression,identifier,errorMessage) 比上面一個多了標(biāo)識,

verify(x > y && z > 10,'TestReq1:bothGreater','x, y, and z are %d,%d,%d',x,y,z)該驗證語句的結(jié)果以標(biāo)簽TestReq1:bothCreate開頭,如果測試失敗,則以errorMessage開頭。

assert(expression)對邏輯表達式求值。如果assert語句的計算結(jié)果為false,仿真將停止并返回錯誤。assert(expression,errmsg)為失敗的assert語句返回指定的錯誤消息字符串(errmsg)

test Harness總結(jié):

1.如果驗證的模型比較簡單,直接上輸入:Signal Builder仿真,輸出 baseline excel

2.模型比較復(fù)雜也可以用上述方法,Signal Builder使用外部excel作為輸入,建立多個group,然后使用迭代的方法進行測試,輸出 baseline excel

3.建立testharness使用test sequence 作為輸入,拷貝之前建立的測試用例excel,每一個case對應(yīng)一個testHarness。

4.使用import和output,這樣的話建立testFile使用模板來建立比較快速

5.使用Constant 作為輸入,使用Model Verification來對比;直接在Constant中建立測試用例即可,每一個case對應(yīng)一個testHarness

?十、 學(xué)習(xí)

命令窗口demo,doc,help xx。

Video Portal Main Page - MATLAB & Simulink (mathworks.cn)

首頁 - MATLAB中文論壇 (ilovematlab.cn)

參考:

MATLAB Simulink的各種模型覆蓋度 - 知乎 (zhihu.com)

使用Simulink Test進行單元測試 - 知乎 (zhihu.com)Test Sequence與Test Manager聯(lián)合測試Simulink模型_贊哥哥s的博客-CSDN博客

http://aloenet.com.cn/news/27871.html

相關(guān)文章:

  • 中企動力做的網(wǎng)站被鏡像怎么能在百度上做推廣
  • 招聘網(wǎng)站的SEO怎么做大數(shù)據(jù)營銷經(jīng)典案例
  • 網(wǎng)站備案需要花錢嗎東莞網(wǎng)絡(luò)推廣平臺
  • 網(wǎng)站開發(fā)的就業(yè)寧波網(wǎng)絡(luò)推廣軟件
  • 云南做網(wǎng)站多少錢市場調(diào)研方案怎么寫
  • 營銷技巧第三季在線觀看鄭州厲害的seo優(yōu)化顧問
  • 寫網(wǎng)站編程需要什么百度快照替代
  • 會計可以做網(wǎng)站么真實的網(wǎng)站制作
  • 新鄉(xiāng)網(wǎng)站推廣公司微信運營
  • 中國建設(shè)銀行行網(wǎng)站谷歌優(yōu)化的最佳方案
  • 做漁具最大的外貿(mào)網(wǎng)站營銷方案案例范文
  • 做教育網(wǎng)站多少錢淘寶推廣引流方法有哪些
  • 網(wǎng)站開發(fā)技術(shù)教程百度搜索指數(shù)是怎么計算的
  • 企業(yè)網(wǎng)站制作機構(gòu)排名怎樣進行關(guān)鍵詞推廣
  • 微信公眾平臺客服谷歌seo培訓(xùn)
  • 做商城網(wǎng)站需要什么資質(zhì)海南網(wǎng)站制作
  • 做網(wǎng)站和做推廣有什么區(qū)別站內(nèi)推廣
  • 新鄉(xiāng)網(wǎng)站建設(shè)哪家好seo包年服務(wù)
  • 網(wǎng)站備案要求北京seo薪資
  • 西安是哪個省屬于哪個省專業(yè)網(wǎng)站推廣優(yōu)化
  • 做網(wǎng)站的屬于什么重慶seo排名優(yōu)化
  • 個人可以做電影網(wǎng)站嗎seo診斷工具有哪些
  • 網(wǎng)站建設(shè)設(shè)計 飛沐中小企業(yè)網(wǎng)站制作
  • 牡丹江百度seo排名優(yōu)化公司推薦
  • 網(wǎng)站數(shù)據(jù)庫怎么做同步今日重要新聞
  • 輕松做網(wǎng)站江蘇seo平臺
  • 企業(yè)做網(wǎng)站營銷的四大途徑東莞推廣公司
  • 八喜網(wǎng)站建設(shè)微平臺推廣
  • 南京網(wǎng)站制作搭建app推廣怎么做
  • 網(wǎng)架加工廠家德州網(wǎng)站建設(shè)優(yōu)化