在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于利用C代碼實現條件控制的分析和研究

MATLAB ? 來源:djl ? 2019-09-17 11:40 ? 次閱讀

條件控制在C代碼中常用的諸如if-else, Switch-Case來表達,那么:

Simulink模型中是如何實現的呢?

又如何配置生成代碼呢?

點擊末尾的 “閱讀原文” 下載本文的案例模型

條件控制邏輯

要得到:

if (u1 > u2)

{

y1 = u1;

}

else

{

y1 = u2;

}

或者

switch (u1)

{

case 2:

y1 = u2;

break;

case 3:

u3;

break;

default:

y1 = u4;

break;

}

怎么做:

Simulink框圖模型里使用Signal Routing以及Ports&Subsystem庫里對應的模塊,如Switch;在Chart里則根據邏輯來構造流程圖;而在MATLAB Function模塊里則直接寫m腳本。

if-else實例

1. 新建一個簡單的Simulink模型

如圖使用三種方式來實現條件判斷的算法

關于利用C代碼實現條件控制的分析和研究

如上圖,對于Simulink來說,if-else可以使用Signal Routing庫里的Switch模塊。而在Chart中,則畫出對應的流程圖即可,如下圖:

關于利用C代碼實現條件控制的分析和研究

MATLAB Function則更簡單,直接寫m腳本。

關于利用C代碼實現條件控制的分析和研究

代碼生成基本配置

求解器:定步長—離散求解器

系統目標文件:ert.tlc

3. 新建數據對象

打開Model Explorer,點擊菜單的Add,在Base Workspace里定義輸入、輸出信號同名的數據對象。通過數據對象來控制這些信號在將來生成C代碼時的定義和聲明。

關于利用C代碼實現條件控制的分析和研究

4. 信號關聯

在信號線上右鍵,將信號與Base Workspace的數據對象關聯在一起。鼠標操作的方式,可以參考之前的帖子里的菜單截圖。因為這里的信號略多,一條一條信號線的點擊鼠標,略麻煩,所以可以使用命令的方式來實現:

關于利用C代碼實現條件控制的分析和研究

此時,第一張模型截圖中信號線上的藍色小叉子就會出現,表示已經關聯了。

5. 生成代碼

Ctrl+B,生成代碼。

如前面所設置的,三個模塊都會得到同樣的if-else的代碼:

關于利用C代碼實現條件控制的分析和研究

接下來看Switch的情況。

Switch實例

1. MATLAB Function

比較簡單,跟之前一樣按照m語言的語法寫代碼即可。

2. Stateflow Chart

而對于Stateflow Chart來說,如果不熟悉流程圖的畫法,可以使用向導自動生成特定的邏輯結構,作為參考:

關于利用C代碼實現條件控制的分析和研究

在向導對應的框內填入內容,然后自動生成后邊的流程圖,可以根據自己的需要再進行調整。Stateflow里面,中括號里的是條件判斷語句,大括號里的是執行語句。

關于利用C代碼實現條件控制的分析和研究

其實從結構上來講,得到的流程圖和之前的if-else是類似,它其實也完全可以用 if-else if-else的C代碼來表示。而實際上,它生成的代碼也會是這樣:

關于利用C代碼實現條件控制的分析和研究

只不過呢,因為下圖所示的選擇項是會默認勾選上的:

關于利用C代碼實現條件控制的分析和研究

所以生成的代碼就會變成Switch的模式:

關于利用C代碼實現條件控制的分析和研究

Signal Routing里有個Multiport Switch可以用來表達Switch的效果。另外,還有來自Port & Subsystem庫里的Switch Case模塊。

下圖就是它們的用法。感興趣的可以下載模型生成代碼看看。

關于利用C代碼實現條件控制的分析和研究

條件控制語句:

對于MATLAB Function,就是直接寫對應的m腳本;

對于Stateflow,就是對應不同形式的流程圖;

對于Simulink,就是使用對應的模塊。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 邏輯
    +關注

    關注

    2

    文章

    834

    瀏覽量

    29729
  • C代碼
    +關注

    關注

    1

    文章

    90

    瀏覽量

    14708
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    三相異步電機直接轉矩控制的圓形磁鏈研究

    產生PWM波,并通過改變轉速給定值,得出在不同給定條件下的仿真結果,并用濾波器對定子電流進行濾波,最后對仿真結果進行了具體分析。這對中小功率電機控制系統實際開發應用等方面有一定的實用價值。 純分享帖,需要者
    發表于 06-16 21:50

    三相異步電機模糊控制研究

    摘要:傳統三相異步電機控制算法的參數固定不變,不能使控制系統一直處于最佳運行狀態。針對此問題在傳統矢量控制系統中引入了模糊P控制方法,利用
    發表于 06-13 09:41

    如何利用EPR分析USB PD?

    嗨,英飛凌社區, 我一直在研究 USB PD 3.1,根據我找到的信息,EPR 是 USB PD 3.1 規范的一部分。 我對使用CY4500 EZ-PD協議分析儀很感興趣,但我在以下鏈接中發現它不
    發表于 05-21 06:40

    基于STM32C8T6控制,FSR402壓力傳感器+oled屏幕顯示代碼

    基于STM32C8T6控制,FSR402壓力傳感器+oled屏幕顯示代碼
    發表于 04-14 15:06 ?3次下載

    永磁同步電機矢量控制策略分析

    本文通過矢量控制策略采用 id=0 控制方案快速準確地控制轉矩,實現調速系統具有較高的動態性能。并利用了 Matlab 工具對永磁同步電機矢
    發表于 03-20 12:57

    智能電動輪椅控制系統的研究與設計

    具體原理進行分析,最后在MATLAB平臺上完成改進雙閉環調速系統的仿真實現。文章總共分為五章內容,具體結構下載以下附件查閱~~~*附件:20250307_智能電動輪椅控制系統的研究與設
    發表于 03-07 15:17

    如何利用MES系統進行產能分析呢?

    利用MES系統進行產能分析是一個涉及數據收集、處理、分析和結果呈現的全過程。對生產過程加以監控,充分利用MES數據采集分析
    的頭像 發表于 02-21 12:10 ?368次閱讀
    如何<b class='flag-5'>利用</b>MES系統進行產能<b class='flag-5'>分析</b>呢?

    分析C語言代碼結構的設計問題

    分析一個C語言代碼結構的設計問題。 這段代碼,使用了兩次malloc,分別給 p1 和 p2 申請了內存。用完后,內存釋放,防止內存泄漏。 大家覺得,這樣的
    的頭像 發表于 02-11 09:31 ?334次閱讀

    怎么提升單片機代碼執行效率

    ? 提升單片機代碼執行效率需要從多個方面入手,包括代碼優化、硬件資源利用、編譯器設置、中斷處理優化以及其他技巧等。在實際應用中,需要根據具體需求和硬件條件綜合考慮這些因素,以
    的頭像 發表于 01-10 11:06 ?526次閱讀

    Flexus X 實例 C#/.Net Core 結合(git 代碼管理、docker 自定義鏡像)快速發布部署 - 讓你的項目飛起來~

    與 Docker 容器化部署,實現代碼高效管理與無縫遷移。即刻行動,讓您的 Web 服務更加穩定、高效,領跑數字化轉型之路! ???本實驗深入演示了如何在 Ubuntu 環境中,利用 Git 進行版本控制管理
    的頭像 發表于 12-25 21:15 ?540次閱讀
    Flexus X 實例 <b class='flag-5'>C</b>#/.Net Core 結合(git <b class='flag-5'>代碼</b>管理、docker 自定義鏡像)快速發布部署 - 讓你的項目飛起來~

    技術干貨驛站 ▏深入理解C語言:掌握C語言條件判斷,從if到switch的應用

    在編程中,條件判斷語句是控制程序流程的核心元素之一。它們使得程序能夠根據不同的輸入和狀態,做出相應的決策。特別是在C語言中,條件判斷語句的使用極為廣泛,涵蓋了從簡單的if語句到更復雜的
    的頭像 發表于 11-09 01:10 ?820次閱讀
    技術干貨驛站 ▏深入理解<b class='flag-5'>C</b>語言:掌握<b class='flag-5'>C</b>語言<b class='flag-5'>條件</b>判斷,從if到switch的應用

    hex文件如何查看原c語言代碼

    是處理器可以直接執行的指令,而 C 語言代碼則是人類可讀的高級編程語言代碼。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對程序進行分析,你可以考慮以下幾種方法: 反匯編
    的頭像 發表于 09-02 10:37 ?4647次閱讀

    利用CLB實現基于硬件的同步整流控制

    電子發燒友網站提供《利用CLB實現基于硬件的同步整流控制.pdf》資料免費下載
    發表于 08-31 09:44 ?1次下載
    <b class='flag-5'>利用</b>CLB<b class='flag-5'>實現</b>基于硬件的同步整流<b class='flag-5'>控制</b>

    實現不失真測量應滿足哪些條件

    實現不失真測量是科學研究和工程實踐中的一個重要問題。不失真測量是指在測量過程中,測量結果能夠真實、準確地反映被測量對象的特性,不受測量方法、測量設備、測量環境等因素的影響。為了實現不失真測量,需要
    的頭像 發表于 08-19 14:24 ?2725次閱讀

    實現有源逆變必須滿足哪些條件

    實現有源逆變,即讓一個電力電子裝置在輸出端產生與輸入端電壓同頻率、同相位的電流,同時能夠向電網回饋能量,需要滿足一定的條件。以下是對實現有源逆變所需滿足條件
    的頭像 發表于 08-14 10:31 ?4633次閱讀
    主站蜘蛛池模板: 一级无毛片 | 四虎影院在线免费播放 | 苍井优一级毛片免费观看 | 午夜黄网站 | 天天谢天天干 | 国产 日韩 欧美 高清 | 日本成片视频 | 国产精品综合色区在线观看 | 美女免费观看一区二区三区 | 天天综合色天天综合网 | 久久国产热 | 亚洲福利一区二区三区 | 欧美一级欧美三级在线 | 涩涩97在线观看视频 | 日韩福利网站 | 欧美午夜性春猛xxxx | 天天操天天干天天做 | 手机看高清特黄a大片 | 午夜在线观看完整高清免费 | 天堂资源在线bt种子8 | 亚洲一区二区高清 | 黄页网站在线播放 | 乱码中文字幕人成在线 | 一级片在线免费看 | 欧美三级在线 | 国产看片视频 | 激情深爱五月 | 正在播放久久 | 二十年等一人小说在线观看 | 大又大又粗又爽又黄毛片女人 | 免费看三级黄色片 | 深爱激情五月婷婷 | 天天精品 | 亚欧成人乱码一区二区 | 亚洲一区二区免费看 | 免费番茄社区性色大片 | 亚洲性后网 | 欧美区在线播放 | 一级午夜免费视频 | 美女又黄又免费的视频 | 天天好比网 |