女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

MATLAB ? 來(lái)源:djl ? 2019-09-17 11:40 ? 次閱讀

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

Simulink模型中是如何實(shí)現(xiàn)的呢?

又如何配置生成代碼呢?

點(diǎn)擊末尾的 “閱讀原文” 下載本文的案例模型

條件控制邏輯

要得到:

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庫(kù)里對(duì)應(yīng)的模塊,如Switch;在Chart里則根據(jù)邏輯來(lái)構(gòu)造流程圖;而在MATLAB Function模塊里則直接寫m腳本。

if-else實(shí)例

1. 新建一個(gè)簡(jiǎn)單的Simulink模型

如圖使用三種方式來(lái)實(shí)現(xiàn)條件判斷的算法

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

如上圖,對(duì)于Simulink來(lái)說(shuō),if-else可以使用Signal Routing庫(kù)里的Switch模塊。而在Chart中,則畫出對(duì)應(yīng)的流程圖即可,如下圖:

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

MATLAB Function則更簡(jiǎn)單,直接寫m腳本。

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

代碼生成基本配置

求解器:定步長(zhǎng)—離散求解器

系統(tǒng)目標(biāo)文件:ert.tlc

3. 新建數(shù)據(jù)對(duì)象

打開Model Explorer,點(diǎn)擊菜單的Add,在Base Workspace里定義輸入、輸出信號(hào)同名的數(shù)據(jù)對(duì)象。通過(guò)數(shù)據(jù)對(duì)象來(lái)控制這些信號(hào)在將來(lái)生成C代碼時(shí)的定義和聲明。

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

4. 信號(hào)關(guān)聯(lián)

在信號(hào)線上右鍵,將信號(hào)與Base Workspace的數(shù)據(jù)對(duì)象關(guān)聯(lián)在一起。鼠標(biāo)操作的方式,可以參考之前的帖子里的菜單截圖。因?yàn)檫@里的信號(hào)略多,一條一條信號(hào)線的點(diǎn)擊鼠標(biāo),略麻煩,所以可以使用命令的方式來(lái)實(shí)現(xiàn):

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

此時(shí),第一張模型截圖中信號(hào)線上的藍(lán)色小叉子就會(huì)出現(xiàn),表示已經(jīng)關(guān)聯(lián)了。

5. 生成代碼

Ctrl+B,生成代碼。

如前面所設(shè)置的,三個(gè)模塊都會(huì)得到同樣的if-else的代碼:

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

接下來(lái)看Switch的情況。

Switch實(shí)例

1. MATLAB Function

比較簡(jiǎn)單,跟之前一樣按照m語(yǔ)言的語(yǔ)法寫代碼即可。

2. Stateflow Chart

而對(duì)于Stateflow Chart來(lái)說(shuō),如果不熟悉流程圖的畫法,可以使用向?qū)ё詣?dòng)生成特定的邏輯結(jié)構(gòu),作為參考:

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

在向?qū)?duì)應(yīng)的框內(nèi)填入內(nèi)容,然后自動(dòng)生成后邊的流程圖,可以根據(jù)自己的需要再進(jìn)行調(diào)整。Stateflow里面,中括號(hào)里的是條件判斷語(yǔ)句,大括號(hào)里的是執(zhí)行語(yǔ)句。

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

其實(shí)從結(jié)構(gòu)上來(lái)講,得到的流程圖和之前的if-else是類似,它其實(shí)也完全可以用 if-else if-else的C代碼來(lái)表示。而實(shí)際上,它生成的代碼也會(huì)是這樣:

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

只不過(guò)呢,因?yàn)橄聢D所示的選擇項(xiàng)是會(huì)默認(rèn)勾選上的:

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

所以生成的代碼就會(huì)變成Switch的模式:

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

Signal Routing里有個(gè)Multiport Switch可以用來(lái)表達(dá)Switch的效果。另外,還有來(lái)自Port & Subsystem庫(kù)里的Switch Case模塊。

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

關(guān)于利用C代碼實(shí)現(xiàn)條件控制的分析和研究

條件控制語(yǔ)句:

對(duì)于MATLAB Function,就是直接寫對(duì)應(yīng)的m腳本;

對(duì)于Stateflow,就是對(duì)應(yīng)不同形式的流程圖;

對(duì)于Simulink,就是使用對(duì)應(yīng)的模塊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 邏輯
    +關(guān)注

    關(guān)注

    2

    文章

    834

    瀏覽量

    29694
  • C代碼
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

    14667
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何利用EPR分析USB PD?

    嗨,英飛凌社區(qū), 我一直在研究 USB PD 3.1,根據(jù)我找到的信息,EPR 是 USB PD 3.1 規(guī)范的一部分。 我對(duì)使用CY4500 EZ-PD協(xié)議分析儀很感興趣,但我在以下鏈接中發(fā)現(xiàn)它不
    發(fā)表于 05-21 06:40

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼
    發(fā)表于 04-14 15:06 ?2次下載

    永磁同步電機(jī)矢量控制策略分析

    本文通過(guò)矢量控制策略采用 id=0 控制方案快速準(zhǔn)確地控制轉(zhuǎn)矩,實(shí)現(xiàn)調(diào)速系統(tǒng)具有較高的動(dòng)態(tài)性能。并利用了 Matlab 工具對(duì)永磁同步電機(jī)矢
    發(fā)表于 03-20 12:57

    智能電動(dòng)輪椅控制系統(tǒng)的研究與設(shè)計(jì)

    具體原理進(jìn)行分析,最后在MATLAB平臺(tái)上完成改進(jìn)雙閉環(huán)調(diào)速系統(tǒng)的仿真實(shí)現(xiàn)。文章總共分為五章內(nèi)容,具體結(jié)構(gòu)下載以下附件查閱~~~*附件:20250307_智能電動(dòng)輪椅控制系統(tǒng)的研究與設(shè)
    發(fā)表于 03-07 15:17

    如何利用MES系統(tǒng)進(jìn)行產(chǎn)能分析呢?

    利用MES系統(tǒng)進(jìn)行產(chǎn)能分析是一個(gè)涉及數(shù)據(jù)收集、處理、分析和結(jié)果呈現(xiàn)的全過(guò)程。對(duì)生產(chǎn)過(guò)程加以監(jiān)控,充分利用MES數(shù)據(jù)采集分析
    的頭像 發(fā)表于 02-21 12:10 ?321次閱讀
    如何<b class='flag-5'>利用</b>MES系統(tǒng)進(jìn)行產(chǎn)能<b class='flag-5'>分析</b>呢?

    分析C語(yǔ)言代碼結(jié)構(gòu)的設(shè)計(jì)問(wèn)題

    來(lái)分析一個(gè)C語(yǔ)言代碼結(jié)構(gòu)的設(shè)計(jì)問(wèn)題。 這段代碼,使用了兩次malloc,分別給 p1 和 p2 申請(qǐng)了內(nèi)存。用完后,內(nèi)存釋放,防止內(nèi)存泄漏。 大家覺(jué)得,這樣的
    的頭像 發(fā)表于 02-11 09:31 ?304次閱讀

    怎么提升單片機(jī)代碼執(zhí)行效率

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

    Flexus X 實(shí)例 C#/.Net Core 結(jié)合(git 代碼管理、docker 自定義鏡像)快速發(fā)布部署 - 讓你的項(xiàng)目飛起來(lái)~

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

    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:掌握C語(yǔ)言條件判斷,從if到switch的應(yīng)用

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

    hex文件如何查看原c語(yǔ)言代碼

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

    利用CLB實(shí)現(xiàn)基于硬件的同步整流控制

    電子發(fā)燒友網(wǎng)站提供《利用CLB實(shí)現(xiàn)基于硬件的同步整流控制.pdf》資料免費(fèi)下載
    發(fā)表于 08-31 09:44 ?1次下載
    <b class='flag-5'>利用</b>CLB<b class='flag-5'>實(shí)現(xiàn)</b>基于硬件的同步整流<b class='flag-5'>控制</b>

    實(shí)現(xiàn)不失真測(cè)量應(yīng)滿足哪些條件

    實(shí)現(xiàn)不失真測(cè)量是科學(xué)研究和工程實(shí)踐中的一個(gè)重要問(wèn)題。不失真測(cè)量是指在測(cè)量過(guò)程中,測(cè)量結(jié)果能夠真實(shí)、準(zhǔn)確地反映被測(cè)量對(duì)象的特性,不受測(cè)量方法、測(cè)量設(shè)備、測(cè)量環(huán)境等因素的影響。為了實(shí)現(xiàn)不失真測(cè)量,需要
    的頭像 發(fā)表于 08-19 14:24 ?2465次閱讀

    實(shí)現(xiàn)有源逆變必須滿足哪些條件

    實(shí)現(xiàn)有源逆變,即讓一個(gè)電力電子裝置在輸出端產(chǎn)生與輸入端電壓同頻率、同相位的電流,同時(shí)能夠向電網(wǎng)回饋能量,需要滿足一定的條件。以下是對(duì)實(shí)現(xiàn)有源逆變所需滿足條件
    的頭像 發(fā)表于 08-14 10:31 ?4243次閱讀

    利用Swap模式實(shí)現(xiàn)代碼回滾操作

    前面介紹了MCUboot的基礎(chǔ)知識(shí),您可通過(guò)上方鏈接回顧歷史文章,上次介紹了Swap模式,本次著重介紹利用Swap模式實(shí)現(xiàn)代碼回滾操作。在某些應(yīng)用場(chǎng)景中,可能新版本的Firmware存在bug而需要返回至上一次的固件。
    的頭像 發(fā)表于 06-19 15:45 ?1720次閱讀
    <b class='flag-5'>利用</b>Swap模式<b class='flag-5'>實(shí)現(xiàn)代碼</b>回滾操作

    實(shí)現(xiàn)智能制造的重要條件是什么

    智能制造是工業(yè)4.0的核心,它通過(guò)高度集成的信息技術(shù)和自動(dòng)化技術(shù),實(shí)現(xiàn)生產(chǎn)過(guò)程的智能化、自動(dòng)化和網(wǎng)絡(luò)化。實(shí)現(xiàn)智能制造的重要條件有很多,以下是一些關(guān)鍵因素的詳細(xì)分析: 技術(shù)創(chuàng)新 技術(shù)創(chuàng)新
    的頭像 發(fā)表于 06-07 15:42 ?2414次閱讀