91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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)于一種實(shí)現(xiàn)條件編譯的建模方法分析和介紹

MATLAB ? 來源:djl ? 作者:董淑成 ? 2019-09-16 15:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上次介紹過可以使用Variant Subsystem或者M(jìn)odel Variant實(shí)現(xiàn)帶有條件編譯的代碼(條件編譯助力Simulink模型平臺(tái)化開發(fā))。最近了解到,從MATLAB R2016a開始,又有一種新的方式可以實(shí)現(xiàn)C代碼中的條件編譯。這就是Variant Sourc模塊的使用。

關(guān)于一種實(shí)現(xiàn)條件編譯的建模方法分析和介紹

假設(shè)有如下模型:

關(guān)于一種實(shí)現(xiàn)條件編譯的建模方法分析和介紹

雙擊Variant Source模塊,可以看到如下配置界面:

關(guān)于一種實(shí)現(xiàn)條件編譯的建模方法分析和介紹

不難看出,除了要定義Simulink Variant對(duì)象K1、K2之外,還需要勾上Analyze all choices during update diagram and generate prepropcessor conditionals選項(xiàng)。顯然,如果K==1條件成立,則Port 1分支對(duì)應(yīng)的代碼被編譯,如果K==2,則Port 2分支對(duì)應(yīng)的代碼被編譯。這里的K可以定義為Simulink Parameter對(duì)象,Storage Class定義為Define(Custom),并且需要指定宏定義的文件。

如此設(shè)置之下,得到的模型算法實(shí)現(xiàn)函數(shù)如下:

voidtestvariantSource_step(void)

{

real_T rtb_VariantMerge_For_Variant_So;

#ifK1

rtb_VariantMerge_For_Variant_So = u1 + u2;

#endif

#ifK2

rtb_VariantMerge_For_Variant_So = u3 + u4;

#endif

y = rtb_VariantMerge_For_Variant_So;

}

這種方式實(shí)現(xiàn)帶有條件編譯的代碼也非常簡單,條件編譯的好處可以通過控制宏定義K控制需要編譯哪部分代碼,那么,如果不設(shè)置條件編譯呢?

上述模型中,如果不再勾選Analyze all choices during update diagram and generate prepropcessor conditionals選項(xiàng),我們得到如下代碼:

voidtestvariantSource_step(void)

{

y = u1 + u2;

}

代碼中只有當(dāng)前參數(shù)條件下有效算法的代碼。

跟上次介紹的條件編譯相比,實(shí)現(xiàn)方式不同,應(yīng)用場(chǎng)景也可能不同,如何取舍,這里就不去分析了。但是,在基于模型的開發(fā)模式下,到底在模型級(jí)別上做選擇,還是通過C代碼級(jí)別的條件編譯做選擇,這是個(gè)值得我們思考的問題。

聲明:本文內(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)注

    30

    文章

    4971

    瀏覽量

    74028
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    694

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    C/C++條件編譯

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

    關(guān)于系統(tǒng)鏈接腳本的介紹

    、隊(duì)伍介紹 本篇為蜂鳥E203系列分享第四篇,本篇介紹的內(nèi)容是系統(tǒng)鏈接腳本。 二、如何實(shí)現(xiàn)不同的下載模式? 實(shí)現(xiàn)
    發(fā)表于 10-30 08:26

    一種基于PWM的電壓輸出DAC電路設(shè)計(jì)

    誤差的方法,論文給出了兩從PWM到0~5V電壓輸出的電路實(shí)現(xiàn)方法,第2電路具有很高的轉(zhuǎn)換精度。 純分享帖,點(diǎn)擊下方附件免費(fèi)獲取完整資
    發(fā)表于 08-04 14:58

    一種帶通濾波器在無位置傳感器轉(zhuǎn)子檢測(cè)中的應(yīng)用

    摘 要:論文研究了一種直流無刷電機(jī)的無位置傳感器的轉(zhuǎn)子位置的硬件電路檢測(cè)方法。結(jié)合傳統(tǒng)“反電動(dòng)勢(shì)\"方法分析并設(shè)計(jì)了一種新的帶通濾波器延時(shí)
    發(fā)表于 08-04 14:56

    多種空間矢量調(diào)制方法的諧波分析

    摘 要:以三相電壓型逆變器為研究對(duì)象,介紹了多種空問矢量調(diào)制方法。該方法易于數(shù)字化,避免繁瑣的計(jì)算。本文通過一種在標(biāo)準(zhǔn)正弦波的基礎(chǔ)上,注入零序分量來統(tǒng)
    發(fā)表于 07-25 14:03

    介紹一種直流過壓保護(hù)電路

    本篇博文將詳細(xì)分析一種典型的過壓保護(hù)電路,探討其工作原理、元件選擇及實(shí)際應(yīng)用,幫助大家深入理解如何保護(hù)電子設(shè)備。
    的頭像 發(fā)表于 07-05 11:06 ?1485次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>一種</b>直流過壓保護(hù)電路

    漢思新材料取得一種PCB板封裝膠及其制備方法的專利

    漢思新材料取得一種PCB板封裝膠及其制備方法的專利漢思新材料(深圳市漢思新材料科技有限公司)于2023年取得了項(xiàng)關(guān)于PCB板封裝膠及其制備方法
    的頭像 發(fā)表于 06-27 14:30 ?783次閱讀
    漢思新材料取得<b class='flag-5'>一種</b>PCB板封裝膠及其制備<b class='flag-5'>方法</b>的專利

    VirtualLab:醫(yī)用衍射透鏡

    技術(shù)方法實(shí)現(xiàn)經(jīng)典透鏡精確快速建模和衍射透鏡不同級(jí)次衍射效率計(jì)算的關(guān)鍵。 為了說明該軟件在這方面的能力,在實(shí)例中分析了所設(shè)計(jì)混合透鏡的近場(chǎng)和遠(yuǎn)場(chǎng)視圖。此外,為了進(jìn)
    發(fā)表于 06-12 08:54

    VirtualLab Fusion應(yīng)用:多反射系統(tǒng)的非序列建模

    嗎,還是向后反射也很有趣?)增強(qiáng)了方法的靈活性,使您能夠獲得盡可能準(zhǔn)確和快速的結(jié)果。 我們以兩不同的場(chǎng)景為例演示了這概念。首先,我們展示了赫里奧特池的情況,這是一種充滿弱吸收氣體的
    發(fā)表于 06-12 08:49

    PanDao:實(shí)際約束條件下成像系統(tǒng)的初始結(jié)構(gòu)的生成

    “First Time Right”(FTR)方法,能夠基于給定的規(guī)格與約束生成多樣化的約束成像系統(tǒng)。結(jié)合PanDao這創(chuàng)新的光學(xué)制造技術(shù)(OFT)分析軟件,可對(duì)面向量產(chǎn)的系統(tǒng)快速完成設(shè)計(jì)、
    發(fā)表于 05-07 08:57

    電機(jī)瞬態(tài)過程分析的MATLAB建模與仿真

    研究電機(jī)瞬態(tài)過程的意義 電機(jī)的瞬態(tài)過程是電機(jī)運(yùn)行狀態(tài)的變化過程,是從一種穩(wěn)態(tài)運(yùn)行到另一種穩(wěn)態(tài)運(yùn)行的過渡過程,它是電機(jī)內(nèi)的一種電磁場(chǎng)儲(chǔ)能和轉(zhuǎn)子動(dòng)能隨時(shí)間而變化的過程。當(dāng)與電機(jī)相關(guān)聯(lián)的任
    發(fā)表于 04-29 16:29

    一種新型激光雷達(dá)慣性視覺里程計(jì)系統(tǒng)介紹

    針對(duì)具有挑戰(zhàn)性的光照條件和惡劣環(huán)境,本文提出了LIR-LIVO,這是一種輕量級(jí)且穩(wěn)健的激光雷達(dá)-慣性-視覺里程計(jì)系統(tǒng)。通過采用諸如利用深度與激光雷達(dá)點(diǎn)云關(guān)聯(lián)實(shí)現(xiàn)特征的均勻深度分布等先進(jìn)技術(shù),以及利用
    的頭像 發(fā)表于 04-28 11:18 ?1114次閱讀
    <b class='flag-5'>一種</b>新型激光雷達(dá)慣性視覺里程計(jì)系統(tǒng)<b class='flag-5'>介紹</b>

    一種分段氣隙的CLLC變換器平面變壓器設(shè)計(jì)

    ,驗(yàn)證理論設(shè)計(jì)的正確性,為變壓器制作提供理論依據(jù)。文中基于圖1電路拓?fù)溲芯苛似矫孀儔浩鞯脑O(shè)計(jì)與實(shí)現(xiàn)方法。 2 一種分段氣隙的CLLC平面變壓器設(shè)計(jì)圖1中拓?fù)渥儔浩鞲边吶@組并聯(lián),實(shí)際上等效為三個(gè)變壓器
    發(fā)表于 03-27 13:57

    一種基于分?jǐn)?shù)階 PID 直流電機(jī)調(diào)速的 AGV 控制系統(tǒng)

    為設(shè)計(jì)一種低成本、抗干擾、穩(wěn)定可靠的 AGV,提出一種基于磁帶導(dǎo)航的 AGV 系統(tǒng)。采用 Megawin 公司的80C51單片機(jī)為控制核心,以并排對(duì)稱設(shè)計(jì)的霍爾傳感器實(shí)現(xiàn)循跡和糾偏,紅外光
    發(fā)表于 03-25 15:10

    一種多模態(tài)駕駛場(chǎng)景生成框架UMGen介紹

    端到端自動(dòng)駕駛技術(shù)的快速發(fā)展對(duì)閉環(huán)仿真器提出了迫切需求,而生成式模型為其提供了一種有效的技術(shù)架構(gòu)。然而,現(xiàn)有的駕駛場(chǎng)景生成方法大多側(cè)重于圖像模態(tài),忽略了其他關(guān)鍵模態(tài)的建模,如地圖信息、智能交通參與者等,從而限制了其在真實(shí)駕駛場(chǎng)景
    的頭像 發(fā)表于 03-24 15:57 ?1701次閱讀
    <b class='flag-5'>一種</b>多模態(tài)駕駛場(chǎng)景生成框架UMGen<b class='flag-5'>介紹</b>