freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

詳解stateflow建模與應(yīng)用實例(文件)

2025-07-11 04:53 上一頁面

下一頁面
 

【正文】 B是并行的。并且在每個狀態(tài)的右上角用數(shù)字標(biāo)注。事件廣播可以觸發(fā)狀態(tài)動作、遷移動作和條件動作。 本地事件廣播 直接事件廣播使用直接事件廣播可以避免在仿真過程中出現(xiàn)不必要的循環(huán)或遞歸、并能有效的提高生成代碼的效率。① 除事件event_1,另行定義Fan狀態(tài)的本地事件event_1。本例與用send函數(shù)直接事件廣播的區(qū)別在于:① event_1屬于狀態(tài)Fan的本地事件,作用范圍限制在該狀態(tài)內(nèi)部,對Fan狀態(tài)可見,對Led為不可見。隱含事件是它們發(fā)生時所在的狀態(tài)的子對象,并且只對其父狀態(tài)可見。該變量不能為machine的子數(shù)據(jù),此隱含事件只對Chart或更低的層次有效。輸入輸出ABYHHLHLHLHHLLL由于在Stateflow中,真值表的表達(dá)形式為條件,決策和動作,為了后面使用方便,:條件決策1決策2決策3決策4決策5(默認(rèn)決策)A==0amp。B==1TA==1amp。B==1T動作y=0y=1y=1y=0y=1條件欄輸入的每一個條件需判斷真假,判斷完結(jié)果為T(邏輯真),F(xiàn)(邏輯假)或(邏輯真或邏輯假)。需要注意的是動作的具體內(nèi)容在Action Table中定義,并給每個動作賦予一個標(biāo)號,在Condition Table的動作欄引用動作的標(biāo)號即可。不同之處在于圖形函數(shù)是Stateflow自身的圖形對象,因此可以直接通過Stateflow編輯器創(chuàng)建并調(diào)用,不必像文本函數(shù)一樣需要用外部工具創(chuàng)建,在外部定義。函數(shù)名的語法規(guī)則為:[n1,n2,n3…]=函數(shù)名(a1,a2,a3…),其中n1,n2,n3為返回值,a1,a2,a3為參數(shù)值。④ 。⑥ 圖表添加相應(yīng)的數(shù)據(jù)、事件后,就可以通過狀態(tài)動作或遷移動作實現(xiàn)圖形函數(shù)的調(diào)用了。Embedded MATLAB子集能夠有效優(yōu)化了生成代碼,提高代碼效率,為編譯目標(biāo)生成產(chǎn)品級C代碼。 Embedded MATLAB函數(shù)命名③ 在Stateflow中定義len,area,length,width四個數(shù)據(jù)對象作為函數(shù)的輸出。 //計算矩形面積end關(guān)于Embedded MATLAB的編寫與調(diào)試在第一章有詳細(xì)介紹,這里不再贅述。圖形盒中圖形對象的可視性。圖形盒內(nèi)部并行狀態(tài)激活順序為從上到下,從左到右;若圖形盒外部也存在并行狀態(tài),則圖形盒內(nèi)部的狀態(tài)優(yōu)先于外部狀態(tài)激活。,圖形盒命名為status,其中有兩個Embedded MATLAB函數(shù),若要調(diào)用msgCold,(),若要調(diào)用msgWarm,其語法為Status. msgWarm()。Simulink函數(shù)的調(diào)用與Simulink模型中的函數(shù)調(diào)用子系統(tǒng)模塊類似。① 創(chuàng)建一個包含Stateflow圖表的Simulink模型,然后單擊圖表編輯器中圖形工具欄的Simulink函數(shù)按鈕,即可在編輯器空白位置添加Simulink函數(shù)。③ 雙擊Simulink函數(shù)對象,定義Simulink函數(shù)的子系統(tǒng)元素。④ 定義兩個“input from Simulink”屬性的數(shù)據(jù)對象作為函數(shù)的輸入;定義一個“output to Simulink”屬性的數(shù)據(jù)對象作為函數(shù)的輸出。① Stateflow編輯窗口點(diǎn)擊add→:在Name區(qū)域內(nèi)輸入目標(biāo)名稱并設(shè)置完畢后,點(diǎn)擊OK即完成用戶目標(biāo)的添加。l Autogenerated Comments in generated code:在生成代碼中包含自動生成的注釋。l Use bitsets for storing boolean data:減少存儲布爾型變量的內(nèi)存用量。 }}被表示為:if(c1 amp。例如,生成代碼:if(c1) { a1()。}else if(c2) { a2()。例如,生成代碼:if(2+32) { a1()。}l Minimize array reads using temporary variables:在條件允許時,通過暫時變量最小化矩陣的讀操作。 a[i]1) { y = a[i]+5。if(temp10 amp。}l Use chart names with no mangling:保留圖表entry函數(shù)名,以便用戶可以在手寫C代碼中調(diào)用。u Pack input/output data into structures:為圖表輸入輸出數(shù)據(jù)生成結(jié)構(gòu)。u Rebuild All (including libraries) :重建目標(biāo)。事件TIC可由脈沖模塊模擬,觸發(fā)條件為上升沿。水平放置的Mux模塊,其輸入端口號從左往右對應(yīng)事件端口號,而垂直放置的Mux模塊,其對應(yīng)關(guān)系則是從上到下。為此使用GUI用戶圖形界面,簡化模型,同時提高仿真的舒適度。 新建GUI界面選項③ 確定后,系統(tǒng)打開GUI編輯窗口。function pushbutton1_Callback(hObject, eventdata, handles)……start = str2num(get_param(39。))。stopwatch_state/Start39。同樣的方法,添加LAP按鈕的回調(diào)方法代碼如下:function pushbutton2_Callback(hObject, eventdata, handles)……Lap = str2num(get_param(39。))。stopwatch_state/Lap39。⑦ 按下GUI界面編輯器的工具欄按鈕,執(zhí)行該GUI,:這時Start/Reset與LAP按鈕即可實現(xiàn)原先的開關(guān)功能,即使不運(yùn)行模型,按下這兩個按鈕,模型窗口的Start與Lap常數(shù)模塊的數(shù)值已能夠?qū)崟r變化。用戶根據(jù)上述各節(jié)的介紹。在Stateflow狀態(tài)圖中,添加一個Embedded MATLAB函數(shù)time(flag)實現(xiàn)該功能,代碼如下。 % 取變量green作為東西向計時起始值 sec=green*10。 % 取變量red作為東西向計時起始值 nssec=green。end讀取了計時起始值,即開始倒數(shù)計時,稍作改造并封裝為圖形函數(shù)count(),供各狀態(tài)調(diào)用。 Embedded MATLAB函數(shù)remain(x)function y=remain(x)y = rem(x,10)。 Stateflow部分模塊連接。 修改紅色方塊模塊的背景色南北、東西兩向的倒數(shù)計時最多為兩位十進(jìn)制數(shù),因此設(shè)置數(shù)碼管其顯示位數(shù)為2位整數(shù)、0位小數(shù)。 脈沖發(fā)生器參數(shù)完成以上設(shè)置后執(zhí)行仿真,模型即按設(shè)計開始運(yùn)行,:。 模型參數(shù)設(shè)置菜單在Solver面板,設(shè)置求解器為定步長離散求解器。使用From、Goto、Demux模塊,可以大大地簡化圖形。 變量與事件列表2. Simulink建模完成Stateflow狀態(tài)圖之后,添加到模型。()為了提到計時精度,函數(shù)time(flag)曾將計時變量sec放大了10倍,只有當(dāng)計時變量的個位為0時,才表示計得1秒,南北向、東西向的計時值才可以減1,因此需要用到取余函數(shù)rem()。case 4 % 南北向緩行時 nssec=redgreen。 % 取變量redgreen作為東西向計時起始值 sec=(redgreen)*10。 % 計時終了標(biāo)志清零switch flag % 判斷當(dāng)前所處的通行狀態(tài)case 1 % 南北向禁行時 nssec=red。變量nsred、nsyell、nsgreen、ewred、ewyell、ewgreen分別代表南北向與東西向的紅燈、黃燈、綠燈,在不同的狀態(tài)中,它們的亮滅以1或0表示。這樣重新打開模型窗口時,GUI界面即可自動打開。Value39。else Lap=0。, 39。Value39。else start=0。, 39。⑤ 選擇Start/Reset按鈕的右鍵菜單項View Callbacks→Callback,系統(tǒng)自動定位到回調(diào)函數(shù)編輯窗口的對應(yīng)位置,并高亮顯示。① ,另外新增常數(shù)Start與Lap。 脈沖發(fā)生器模塊 常數(shù)模塊 合路器模塊 手動開關(guān)模塊 數(shù)字LED模塊 功能驗證模型雙擊Start開關(guān),系統(tǒng)開始計時,: 開始計時雙擊Lap開關(guān),系統(tǒng)記錄當(dāng)前計時值,并繼續(xù)計時。 計時器狀態(tài)圖2. Simulink模型以脈沖模塊模擬輸入時鐘信號,兩個開關(guān)分別模擬Start與LAP按鈕。u Make without generating code:調(diào)用創(chuàng)建程序,但并不生成代碼。l Multiinstance capable code:生成多實例圖形對象代替靜態(tài)定義。由于該復(fù)選框不檢測生成代碼中的名稱沖突性,因此只有當(dāng)模型中圖表名稱唯一時可用。 temp1) { y = temp+5。}被表示為:a[i] = foo()。if(a[i]10 amp。}被表示為:if(0) { a1()。}l Replace constant expressions by a single constant:通過對常量表達(dá)式估值,用單個常量代替常量表達(dá)式來提高代碼可讀性。 }else{ if(c3) { a3()。 c2) {a1()。l Compact nested ifelse using logical AND/OR operators:通過使用邏輯運(yùn)算符壓縮多層嵌套的ifelse結(jié)構(gòu)來提高代碼的可讀性。l Use bitsets for storing state configuration:減少存儲變量的內(nèi)存用量。在模型瀏覽器的Model Hierarchy面板內(nèi)選擇含有用戶目標(biāo)的主模型,然后在Contents面板中選擇目標(biāo),則右側(cè)的動態(tài)面板即出現(xiàn)用戶目標(biāo)的配置對話框。目標(biāo)是一個用來執(zhí)行Stateflow圖表或包含Stateflow狀態(tài)機(jī)的Simulink模型的程序。向模型中添加模塊。函數(shù)命名形式與圖形函數(shù)相同。 Simulink函數(shù)作用范圍Simulink函數(shù)定義于調(diào)用Simulink函數(shù)的范圍狀態(tài)該狀態(tài)本身及其子狀態(tài)圖表該圖表內(nèi)皆可調(diào)用。Simulink函數(shù)通過減少圖形和非圖形對象的方式,使模型設(shè)計更加高效,更具可讀性。在Stateflow編輯窗口中點(diǎn)擊圖形盒按鈕,再點(diǎn)擊編輯窗口中的空白處即可添加圖形盒。用戶若需要在圖形盒外部引用位于圖形盒內(nèi)部的函數(shù)或狀態(tài),則應(yīng)該在引用路徑中添加圖形盒的名稱。 MATLAB函數(shù)(Box)圖形盒時Stateflow的一種圖形對象,可以用來組織圖表中的圖形對象。function [len,area]=rectangle(length,width)%emllen=2*(length+width)。① 創(chuàng)建一個包含Stateflow圖表的Simulink模型,然后單擊圖表編輯器中圖形工具欄的Embedded MATLAB函數(shù)按鈕,即可在編輯器空白位置添加Embedded MATLAB函數(shù)。在描述代碼算法方面,文本形式的MATLAB語言比圖
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1