哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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 ? 來源:djl ? 2019-09-17 11:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

條件控制在C代碼中常用的諸如if-else, Switch-Case來表達(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ù)邏輯來構(gòu)造流程圖;而在MATLAB Function模塊里則直接寫m腳本。

if-else實(shí)例

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

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

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

如上圖,對(duì)于Simulink來說,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ì)象。通過數(shù)據(jù)對(duì)象來控制這些信號(hào)在將來生成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),略麻煩,所以可以使用命令的方式來實(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)條件控制的分析和研究

接下來看Switch的情況。

Switch實(shí)例

1. MATLAB Function

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

2. Stateflow Chart

而對(duì)于Stateflow Chart來說,如果不熟悉流程圖的畫法,可以使用向?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)上來講,得到的流程圖和之前的if-else是類似,它其實(shí)也完全可以用 if-else if-else的C代碼來表示。而實(shí)際上,它生成的代碼也會(huì)是這樣:

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

只不過呢,因?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可以用來表達(dá)Switch的效果。另外,還有來自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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 邏輯
    +關(guān)注

    關(guān)注

    2

    文章

    834

    瀏覽量

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

    關(guān)注

    1

    文章

    90

    瀏覽量

    15237
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何利用S7-1200型PLC與G120C變頻器實(shí)現(xiàn)模擬量控制

    本文主要介紹如何利用S7-1200型PLC與G120C變頻器實(shí)現(xiàn)模擬量控制,本文內(nèi)容主要包括控制要求、
    的頭像 發(fā)表于 04-11 17:13 ?7113次閱讀
    如何<b class='flag-5'>利用</b>S7-1200型PLC與G120<b class='flag-5'>C</b>變頻器<b class='flag-5'>實(shí)現(xiàn)</b>模擬量<b class='flag-5'>控制</b>

    講解C語(yǔ)言代碼實(shí)現(xiàn)過程

    重點(diǎn)講解C語(yǔ)言代碼實(shí)現(xiàn)過程,算法的C語(yǔ)言實(shí)現(xiàn)過程具有一般性,通過PID算法的C語(yǔ)言
    發(fā)表于 01-21 07:58

    分析嵌入式軟件代碼的漏洞-代碼注入

    及其后代衍生產(chǎn)品)很不擅長(zhǎng)發(fā)現(xiàn)這樣的漏洞,因?yàn)橄胍?b class='flag-5'>實(shí)現(xiàn)精確的查找漏洞就需要完成整個(gè)程序的路徑敏感分析。 提升嵌入式代碼分析工具 最近出現(xiàn)的先進(jìn)的靜態(tài)
    發(fā)表于 12-22 12:53

    C語(yǔ)言單元測(cè)試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應(yīng)用

    一、C語(yǔ)言在嵌入式開發(fā)中的現(xiàn)狀與重要性 C語(yǔ)言在嵌入式開發(fā)領(lǐng)域仍然占據(jù)主導(dǎo)地位,根據(jù)Barr集團(tuán)的研究,目前95%的嵌入式系統(tǒng)代碼采用C
    發(fā)表于 12-18 11:46

    C/C++條件編譯

    條件編譯是一種在編譯時(shí)根據(jù)條件選擇性地包含或排除部分代碼的處理方法。在 C/C++ 中,條件編譯
    發(fā)表于 12-05 06:21

    基于芯源CW32 MCU的LED閃爍示例及代碼分析

    準(zhǔn)備: 芯源CW32開發(fā)板 一個(gè)LED 電阻及基礎(chǔ)連接線 開發(fā)環(huán)境:我使用的是Keil作為開發(fā)環(huán)境,同時(shí)利用官方提供的CW32庫(kù)函數(shù),這使得代碼更加簡(jiǎn)潔清晰。 代碼實(shí)現(xiàn):這段
    發(fā)表于 12-04 06:52

    Airship研究:無代碼原生應(yīng)用體驗(yàn)使購(gòu)買頻次翻倍(增長(zhǎng)140%),為假日季盈利增長(zhǎng)開辟新路徑

    ”(Experience Impact)研究分析了超過1000個(gè)零售類應(yīng)用內(nèi)體驗(yàn)和17億次設(shè)備會(huì)話,量化了利用代碼和AI驅(qū)動(dòng)工具優(yōu)化端到端客戶旅程(而非僅發(fā)送信息)所產(chǎn)生的影響——這
    的頭像 發(fā)表于 11-27 16:34 ?1089次閱讀

    C語(yǔ)言的編程技巧

    設(shè)計(jì),分層開發(fā)代碼,便于理解和維護(hù)。 ?8、避免使用GOTO語(yǔ)句?:盡管GOTO語(yǔ)句在某些情況下仍然有用,但現(xiàn)代編程更傾向于使用函數(shù)和循環(huán)控制結(jié)構(gòu),以提高代碼的可讀性和維護(hù)性。 ?9、利用
    發(fā)表于 11-27 06:46

    電壓放大器驅(qū)動(dòng)液滴微流控芯片關(guān)鍵功能實(shí)現(xiàn)研究

    控制條件,可以對(duì)液滴進(jìn)行多樣化的操控,以滿足不同研究和應(yīng)用場(chǎng)景需求。在生物醫(yī)學(xué)領(lǐng)域,液滴具有廣泛的應(yīng)用價(jià)值,可以視為一個(gè)獨(dú)立的微反應(yīng)器,具有微納尺度體積,容易高通量操作,非常適用于大樣本下的生化檢測(cè)和
    的頭像 發(fā)表于 07-30 14:24 ?890次閱讀
    電壓放大器驅(qū)動(dòng)液滴微流控芯片關(guān)鍵功能<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>研究</b>

    Perforce QAC產(chǎn)品簡(jiǎn)介:面向C/C++的靜態(tài)代碼分析工具(已通過SO 26262認(rèn)證)

    Perforce QAC專為C/C++開發(fā)者打造,支持多種編碼規(guī)范、功能安全標(biāo)準(zhǔn)(ISO 26262)等,廣泛用于汽車、醫(yī)療、嵌入式開發(fā)領(lǐng)域,可幫助快速識(shí)別關(guān)鍵缺陷、提升代碼質(zhì)量、實(shí)現(xiàn)
    的頭像 發(fā)表于 07-10 15:57 ?1464次閱讀
    Perforce QAC產(chǎn)品簡(jiǎn)介:面向<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++的靜態(tài)<b class='flag-5'>代碼</b><b class='flag-5'>分析</b>工具(已通過SO 26262認(rèn)證)

    無刷直流電機(jī)雙閉環(huán)串級(jí)控制系統(tǒng)仿真研究

    以來伴隨著永磁材料技術(shù)、計(jì)算機(jī)及控制技術(shù)等支撐技術(shù)的快速發(fā)展及微電機(jī)制造工藝水平的不斷提高,永磁無刷直流電動(dòng)機(jī)在高性能中、小伺服驅(qū)動(dòng)領(lǐng)域獲得廣泛應(yīng)用并日趨占據(jù)主導(dǎo)地位嗎。一直以來,研究人員都比較關(guān)注利用
    發(fā)表于 07-07 18:36

    無刷直流電機(jī)改進(jìn)型直接轉(zhuǎn)矩控制研究

    摘要:研究了120”導(dǎo)通方式下的無刷直流電機(jī)直接轉(zhuǎn)矩控制策略。通過分析了無刷直流電機(jī)轉(zhuǎn)矩特性知道,只要保持定子磁鏈幅值恒定并控制其旋轉(zhuǎn)速度就可使電機(jī)獲得快速轉(zhuǎn)矩動(dòng)態(tài)響應(yīng)性能。對(duì) 120
    發(fā)表于 06-27 16:45

    三相異步電機(jī)直接轉(zhuǎn)矩控制的圓形磁鏈研究

    產(chǎn)生PWM波,并通過改變轉(zhuǎn)速給定值,得出在不同給定條件下的仿真結(jié)果,并用濾波器對(duì)定子電流進(jìn)行濾波,最后對(duì)仿真結(jié)果進(jìn)行了具體分析。這對(duì)中小功率電機(jī)控制系統(tǒng)實(shí)際開發(fā)應(yīng)用等方面有一定的實(shí)用價(jià)值。 純分享帖,需要者
    發(fā)表于 06-16 21:50

    三相異步電機(jī)模糊控制研究

    摘要:傳統(tǒng)三相異步電機(jī)控制算法的參數(shù)固定不變,不能使控制系統(tǒng)一直處于最佳運(yùn)行狀態(tài)。針對(duì)此問題在傳統(tǒng)矢量控制系統(tǒng)中引入了模糊P控制方法,利用
    發(fā)表于 06-13 09:41

    如何利用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
    万年县| 图片| 霸州市| 涡阳县| 北安市| 扎赉特旗| 双鸭山市| 蛟河市| 财经| 泸水县| 巫溪县| 信宜市| 太和县| 隆化县| 安塞县| 凤山县| 长宁区| 叶城县| 孝昌县| 武邑县| 乐至县| 孙吴县| 师宗县| 杨浦区| 萨迦县| 太和县| 巍山| 石城县| 吉木萨尔县| 临城县| 新龙县| 朝阳县| 梓潼县| 南木林县| 云南省| 汽车| 六枝特区| 寿宁县| 凯里市| 黔南| 嵊州市|