一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

關(guān)于代碼替換這個隱藏技能的介紹和分享

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

掃碼添加小助手

加入工程師交流群

不要對自動生成的代碼做任何手工修改,凡是想在代碼中實(shí)現(xiàn)的,一定要通過模型和相關(guān)配置實(shí)現(xiàn)。

是的,我依然堅(jiān)持這條堅(jiān)持了近10年的原則。

那么問題來了,有人說有些算法速度太慢,比如sine運(yùn)算,如果使用math庫里提供的sine運(yùn)算,可能很多應(yīng)用都接受不了,怎么破?

我們今天就來看看工具提供給我們的代碼替換功能。

通常,在工程上,對于速度要求比較高的應(yīng)用里,我們不會使用數(shù)學(xué)庫里的sin()做正弦運(yùn)算的,更多的時候,我們會使用查表的方式,把信號變化范圍你的數(shù)據(jù)做成表格,做sine運(yùn)算時就調(diào)用這張表格。我們這里也假設(shè)用戶可以自己寫一個查表函數(shù),函數(shù)原型如下:

double mysin(double x)

也可能會有人告訴我單片機(jī)上我們也不適用double數(shù)據(jù)類型的,好吧,我這里偷懶,就不再去設(shè)置數(shù)據(jù)類型了,設(shè)置數(shù)據(jù)類型這事大家都會做。

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

關(guān)于代碼替換這個隱藏技能的介紹和分享

選擇系統(tǒng)目標(biāo)文件為ert.tlc,默認(rèn)設(shè)置下,生成的代碼如下:

testcr_Y.Out1 = sin(testcr_U.In1);

我們的目標(biāo)是:

將代碼中的sin()替換成mysine()。

如何操作?

1. 首先做MATLAB命令窗里運(yùn)行如下命令:crtool

關(guān)于代碼替換這個隱藏技能的介紹和分享

2. 在上述界面下,Tables List里面增加myTable,然后鼠標(biāo)右鍵在myTable上選擇New Entry,繼續(xù)選擇Math Function,然后就是做Math Function列表里選擇sin,在最右側(cè)的面板里設(shè)置Replacement prototype,比如我們這里將名字設(shè)置為mysine。

3. 做完上述設(shè)置之后,保存為myTable.m。

4. 再使用上述界面的File菜單下的Generate Registration File生成注冊文件myTableReg。

5. 回到MATLAB命令窗,運(yùn)行sl_refresh_customizations。

至此,我們已經(jīng)創(chuàng)建了代碼替換表,并且將其注冊到MATLAB系統(tǒng)。

下面打開模型文件,只需做如下設(shè)置:

關(guān)于代碼替換這個隱藏技能的介紹和分享

Configuration Parameters面板下選擇Code Generation,然后選擇Code replacement library,選中myTableReg。

現(xiàn)在,再去生成代碼,你將得到的就是這樣一行代碼:

testcr_Y.Out1 = mysine(testcr_U.In1);

這里面需要注意的是路徑問題不要出錯,還有函數(shù)的形成以及返回值的類型要和模型里的相關(guān)模塊保持一致。

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

    關(guān)注

    8

    文章

    7252

    瀏覽量

    91696
  • 信號
    +關(guān)注

    關(guān)注

    11

    文章

    2850

    瀏覽量

    78152
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4895

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    開源鴻蒙開發(fā)必備!OpenHarmony替換Full SDK全攻略

    本文介紹開源鴻蒙OpenHarmony替換FullSDK的方法,演示設(shè)備為觸覺智能PurplePiOH鴻蒙開發(fā)板獲取FullSD
    的頭像 發(fā)表于 06-06 18:11 ?214次閱讀
    開源鴻蒙開發(fā)必備!OpenHarmony<b class='flag-5'>替換</b>Full SDK全攻略

    AI時代:不可替代的“人類+”職業(yè)技能

    當(dāng)生成式人工智能能夠撰寫報(bào)告、編寫代碼甚至設(shè)計(jì)產(chǎn)品時,一個根本性的焦慮開始蔓延:人類工作者是否正在被算法取代?這個問題的答案或許比簡單的“是”或“否”更為復(fù)雜——AI確實(shí)在重塑職業(yè)版圖,但真正的挑戰(zhàn)
    的頭像 發(fā)表于 05-20 16:13 ?192次閱讀

    貼片電阻和插件電阻可以替換嗎?

    貼片電阻和插件電阻在特定條件下可以相互替換,但替換時需要考慮多個因素以確保電路的性能和穩(wěn)定性。以下是對貼片電阻和插件電阻替換性的詳細(xì)分析: 一、可替換性分析 電路設(shè)計(jì)要求:
    的頭像 發(fā)表于 04-30 15:32 ?285次閱讀
    貼片電阻和插件電阻可以<b class='flag-5'>替換</b>嗎?

    國產(chǎn)電壓基準(zhǔn)源替換REF3025在工業(yè)電源管理應(yīng)用中的替換方案

    國產(chǎn)電壓基準(zhǔn)源替換REF3025在工業(yè)電源管理應(yīng)用中的替換方案
    的頭像 發(fā)表于 03-19 09:44 ?419次閱讀
    國產(chǎn)電壓基準(zhǔn)源<b class='flag-5'>替換</b>REF3025在工業(yè)電源管理應(yīng)用中的<b class='flag-5'>替換</b>方案

    晶振替換指南

    在頻率相同的情況下,不同尺寸的晶振替換是可行的。凱擎小妹建議您全面考慮各項(xiàng)技術(shù)參數(shù)和應(yīng)用要求,以確保替換后的系統(tǒng)可以穩(wěn)定可靠的運(yùn)行。
    的頭像 發(fā)表于 12-23 18:07 ?933次閱讀
    晶振<b class='flag-5'>替換</b>指南

    若想使用ADS8422IBPFBT是要怎么替換或運(yùn)作?

    由于近期要做關(guān)于ANC的研究,欲購TMS320C6713 DSP Starter Kit (DSK)來實(shí)作,考慮使用ADS8422IBPFBT作為ADC,但是原本似乎就有內(nèi)建AIC23 CODEC
    發(fā)表于 12-13 11:13

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?1005次閱讀
    如何自動生成verilog<b class='flag-5'>代碼</b>

    TAS5630PHD這個型號跟TAS5630BPHD是不是一樣?可以直接替換嗎?

    TAS5630PHD這個型號跟\'TAS5630BPHD是不是一樣?可以直接替換?謝謝
    發(fā)表于 10-25 06:23

    代碼整潔之道-大師眼中的整潔代碼是什么樣

    模糊,帶著這個問題,本人讀完了世界軟件開發(fā)大師馬丁的《代碼整潔之道》這本書,來了解下大師眼中的整潔代碼畫像是什么樣的,相信能給你帶來不一樣的理解和感悟。 關(guān)于整潔
    的頭像 發(fā)表于 09-09 16:30 ?632次閱讀
    <b class='flag-5'>代碼</b>整潔之道-大師眼中的整潔<b class='flag-5'>代碼</b>是什么樣

    用OPA2320替換OPA2333這個系列的可以不?

    請問一下我用OPA2320替換OPA2333這個系列的可以不?
    發(fā)表于 09-04 08:23

    OPA4330能替換LMV324嗎?

    我放大的倍數(shù)是150左右,,,,,,,我在手冊中看到OPA4330的開環(huán)增益是100db,LMV324這個的開環(huán)增益沒有找到,,,,,,不知道能否替換,替換的效果會不會更好?
    發(fā)表于 09-02 07:05

    GD32如何替換STM32

    GD32替換Stm32注意事項(xiàng)
    發(fā)表于 08-23 11:31 ?5次下載

    20.0-電磁桿的組裝和實(shí)物介紹這個是就是你想要的“-智能車電磁組 電磁循跡小車

    電子設(shè)計(jì)大賽20.0-電磁桿的組裝和實(shí)物介紹這個是就是你想要的“-智能車電磁組 電磁循跡小車 電磁循跡 電磁循跡小車代碼 電磁桿的制作 電磁桿原理圖PCB設(shè)計(jì)
    的頭像 發(fā)表于 08-20 11:07 ?847次閱讀
    20.0-電磁桿的組裝和實(shí)物<b class='flag-5'>介紹</b>“<b class='flag-5'>這個</b>是就是你想要的“-智能車電磁組 電磁循跡小車

    相同貼片大小電容可以替換嗎?

    相同貼片大小電容是否可以替換,主要取決于電容的具體參數(shù)(如容量、耐壓值等)以及電路的具體需求。以下是對這一問題的詳細(xì)分析: 一、電容替換的基本原則 封裝兼容性:相同封裝的電容在物理尺寸上是兼容的,但
    的頭像 發(fā)表于 08-12 17:34 ?1897次閱讀

    替換ADS1248,國產(chǎn)ADC在PLC中的應(yīng)用方案

    替換ADS1248,國產(chǎn)ADC在PLC中的應(yīng)用方案
    的頭像 發(fā)表于 07-09 09:35 ?839次閱讀
    <b class='flag-5'>替換</b>ADS1248,國產(chǎn)ADC在PLC中的應(yīng)用方案