99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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)于如何定義結(jié)構(gòu)體的分析和介紹

MATLAB ? 來(lái)源:djl ? 作者:柚籽 ? 2019-09-16 10:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們來(lái)聊聊結(jié)構(gòu)體。

E-Coder 在做自動(dòng)代碼生成的時(shí)候,在默認(rèn)情況下,它會(huì)把所有的輸入信號(hào)定義為一個(gè)結(jié)構(gòu)體_U,把所有的輸出信號(hào)定義為另一個(gè)結(jié)構(gòu)體_Y,把所有的參數(shù)定義為一個(gè)結(jié)構(gòu)體_P。雖然這樣的結(jié)構(gòu)體不一定是我們想要的,但至少,說(shuō)明自動(dòng)代碼生成是支持結(jié)構(gòu)體的。

本文并不解決“哪些情況下應(yīng)該使用結(jié)構(gòu)體”這個(gè)問(wèn)題,這里來(lái)說(shuō)說(shuō):

怎么實(shí)現(xiàn)我想要的結(jié)構(gòu)體?

從之前的文章中我們說(shuō)到,自動(dòng)生成代碼時(shí),想讓各種信號(hào)、參數(shù)定義和聲明采用什么樣的方式,都是通過(guò)數(shù)據(jù)對(duì)象 (Data Object) 來(lái)實(shí)現(xiàn)的。那,如果我希望把信號(hào) a ,b,c 或者參數(shù) k1,k2,k3 定義為一個(gè)結(jié)構(gòu)體,該怎么實(shí)現(xiàn)呢?

構(gòu)造結(jié)構(gòu)體

要得到:

typdef struct {

double k1;

double k2;

double k3;

} kk_type;

kk_type kk={2.0,3.0,4.0};

怎么做:

設(shè)置數(shù)據(jù)對(duì)象的Storage Class屬性為 Struct

或者使用Simulink Bus來(lái)定義新的結(jié)構(gòu)體類型 outyy

舉個(gè)例子

1.新建如下的簡(jiǎn)單模型并生成代碼

先看一下 “正常的” 不使用結(jié)構(gòu)體的情況:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

看下面這張圖,定義好了對(duì)應(yīng)的信號(hào)數(shù)據(jù)對(duì)象 (Simulink.Signal) u1、u2、u3、yy1、yy2、yy3,與參數(shù)數(shù)據(jù)對(duì)象(Simulink.Parameter) k1、k2、k3。

通過(guò)名字對(duì)應(yīng)以及關(guān)聯(lián)操作,實(shí)現(xiàn)關(guān)聯(lián),也就是上圖中的藍(lán)色小叉子。具體如何操作以前介紹過(guò)。

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

Ctrl + B,生成代碼:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

2.把參數(shù) k1、k2、k3 放在指定的結(jié)構(gòu)體 kk 里

選中數(shù)據(jù)對(duì)象 k1,k2,k3,把 StorageClass 都設(shè)置為 Struct(Custom),并指定結(jié)構(gòu)體名字為 kk。這樣在自動(dòng)生成代碼時(shí),這幾個(gè)參數(shù)會(huì)自動(dòng)放入結(jié)構(gòu)體 kk 中。

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

看到,在生成的代碼里,得到一個(gè)新的結(jié)構(gòu)體類型 kk_type:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

并且,根據(jù)這幾個(gè)參數(shù)的值,得到了結(jié)構(gòu)體變量 kk:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

3.把信號(hào) yy1、yy2、yy3 也放在一個(gè)輸出結(jié)構(gòu)體里

剛才的參數(shù)結(jié)構(gòu)體是通過(guò)設(shè)置數(shù)據(jù)對(duì)象的 StorageClass 為 Struct 來(lái)實(shí)現(xiàn)的。而現(xiàn)在,以信號(hào)為例,使用另一種方式來(lái)實(shí)現(xiàn)這個(gè)目的: Simulink Bus。

a.首先,通過(guò) Simulink Bus 來(lái)定義一個(gè)新的結(jié)構(gòu)體數(shù)據(jù)類型 outyy:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

定義這個(gè) Bus 的結(jié)構(gòu),里面的成員名就是最后出現(xiàn)在代碼里的名字:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

那么此時(shí),一個(gè)新的數(shù)據(jù)類型就構(gòu)造好了。將來(lái)在生成代碼時(shí),這個(gè)新的結(jié)構(gòu)體類型就是這樣:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

數(shù)據(jù)類型定義好了,接著,我們就要來(lái)用它了。

b. 把 Simulink 的三個(gè)輸出信號(hào)使用 Bus Creator 模塊變成總線信號(hào),取名叫 outStruct:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

設(shè)置這個(gè) Bus Creator 模塊的數(shù)據(jù)類型為剛定義好的結(jié)構(gòu)體 outyy。另外,還得勾選它為非虛擬總線。那么這樣,它在生成代碼時(shí),就會(huì)被當(dāng)做結(jié)構(gòu)體來(lái)看:

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

c. 如同之前每一個(gè) double\single 類型的信號(hào)一樣,接著,也為 outStruct信號(hào)定義一個(gè)同名的數(shù)據(jù)對(duì)象 outStruct。

在 Simulink 模型上的 outStruct 信號(hào)線的屬性界面上勾選關(guān)聯(lián)到這個(gè)數(shù)據(jù)對(duì)象,得到藍(lán)色小叉子。

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

4. 最后生成代碼

關(guān)于如何定義結(jié)構(gòu)體的分析和介紹

聲明:本文內(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)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    推進(jìn)電機(jī)端蓋結(jié)構(gòu)的抗沖擊分析及優(yōu)化

    摘要:高轉(zhuǎn)矩密度、強(qiáng)抗沖擊性和低噪聲已經(jīng)成為艦船用推進(jìn)電機(jī)三大特征,以某推進(jìn)電機(jī)的端蓋結(jié)構(gòu)分析研究對(duì)象,以有限元數(shù)值仿真分析為手段,分析了該結(jié)構(gòu)
    發(fā)表于 06-23 07:12

    滲壓計(jì)在混凝土結(jié)構(gòu)中的安裝指南

    在現(xiàn)代土木工程和巖土工程中,滲壓計(jì)是監(jiān)測(cè)混凝土結(jié)構(gòu)體內(nèi)孔隙水壓力變化的重要工具。南京峟思公司生產(chǎn)的滲壓計(jì)因其高精度和可靠性而被廣泛應(yīng)用于各種工程監(jiān)測(cè)項(xiàng)目中。一、滲壓計(jì)在混凝土結(jié)構(gòu)中的應(yīng)用價(jià)值滲壓計(jì)
    的頭像 發(fā)表于 05-28 10:55 ?155次閱讀
    滲壓計(jì)在混凝土<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>中的安裝指南

    LASCAD應(yīng)用:動(dòng)態(tài)多模分析和調(diào)Q運(yùn)轉(zhuǎn)模擬

    目錄 動(dòng)態(tài)多模分析和調(diào)Q運(yùn)轉(zhuǎn)模擬1 1.介紹1 2.激光器連續(xù)輸出時(shí)輸出功率,模式競(jìng)爭(zhēng),和光束質(zhì)量的模擬2 3.Q開(kāi)關(guān)運(yùn)轉(zhuǎn)模擬6 4.光闌影響模擬10 5.結(jié)論12 1.介紹 動(dòng)態(tài)多模分析
    發(fā)表于 05-19 08:52

    GLAD應(yīng)用:全息光柵模擬

    用于模擬全息記錄介質(zhì)中形成的梯度折射率分布。全息結(jié)構(gòu)一旦形成,就可以在傳輸過(guò)程中將一束入射光波逐漸轉(zhuǎn)換成形成體全息結(jié)構(gòu)的另一束光波。兩束光波之間的能量傳遞轉(zhuǎn)換效率與全息
    發(fā)表于 05-15 09:32

    C語(yǔ)言中結(jié)構(gòu)與聯(lián)合體的深度解析:內(nèi)存布局與應(yīng)用場(chǎng)景

    在于對(duì)內(nèi)存的極致操控。結(jié)構(gòu)構(gòu)建數(shù)據(jù)實(shí)體,聯(lián)合體實(shí)現(xiàn)內(nèi)存復(fù)用,二者的組合使用能創(chuàng)造出強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)。掌握它們的底層原理,配合內(nèi)存分析工具(如Valgrind、GDB),將助你在嵌入式開(kāi)
    發(fā)表于 04-08 09:18

    連接器元件的定義結(jié)構(gòu)特點(diǎn)

    在現(xiàn)代電子設(shè)備中,連接器元件作為實(shí)現(xiàn)電路連接或斷開(kāi)的重要組件,扮演著不可或缺的角色。它們通過(guò)插頭和插座的配合,完成了電信號(hào)或電源的傳輸,而無(wú)需進(jìn)行永久性連接。本文將深入探討連接器元件的定義結(jié)構(gòu)特點(diǎn)以及其在電子設(shè)備中的應(yīng)用,以期為相關(guān)領(lǐng)域的研究者和工程師提供全面的技術(shù)參考
    的頭像 發(fā)表于 02-05 16:51 ?613次閱讀

    JCMsuite應(yīng)用:散射的光學(xué)手性響應(yīng)

    在JCMsuite中,利用光學(xué)手性的形式和內(nèi)置的手性參量可以計(jì)算光散射的手性響應(yīng)。結(jié)果表明,時(shí)間諧波光學(xué)手性密度服從局部連續(xù)性方程[1]。這使得手性行為的分析類似于研究電磁能量的標(biāo)準(zhǔn)消光實(shí)驗(yàn)。 在
    發(fā)表于 12-25 15:37

    鎂合金微觀結(jié)構(gòu)分析:EBSD制樣技術(shù)的應(yīng)用與經(jīng)驗(yàn)探討

    電子背散射衍射(EBSD)技術(shù)在材料科學(xué)領(lǐng)域,電子背散射衍射(EBSD)技術(shù)以其卓越的晶體微區(qū)取向和結(jié)構(gòu)分析能力,已經(jīng)成為全球研究者不可或缺的工具。它不僅能夠提供關(guān)于材料微觀組織結(jié)構(gòu)
    的頭像 發(fā)表于 12-19 12:35 ?789次閱讀
    鎂合金微觀<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>分析</b>:EBSD制樣技術(shù)的應(yīng)用與經(jīng)驗(yàn)探討

    JCMsuite應(yīng)用:散射的光學(xué)手性響應(yīng)

    在JCMsuite中,利用光學(xué)手性的形式和內(nèi)置的手性參量可以計(jì)算光散射的手性響應(yīng)。結(jié)果表明,時(shí)間諧波光學(xué)手性密度服從局部連續(xù)性方程[1]。這使得手性行為的分析類似于研究電磁能量的標(biāo)準(zhǔn)消光實(shí)驗(yàn)。 在
    發(fā)表于 12-18 13:41

    VirtualLab Fusion應(yīng)用:用于抑制高衍射級(jí)次的角濾波光柵

    ,以抑制不需要的高衍射階數(shù)。為此,首先分析光柵的角度靈敏度。 最后,通過(guò)使用 VirtualLab Fusion 進(jìn)行仿真,顯示了對(duì)不期望的高衍射級(jí)次的抑制效果。 建模任務(wù) volume
    發(fā)表于 12-09 12:51

    等離子定義和特征

    等離子定義 等離子是一種由離子、電子和中性粒子組成的電離氣體。在這種狀態(tài)下,物質(zhì)的部分或全部原子被電離,即原子核與電子分離,形成了帶正電的離子和自由移動(dòng)的電子。這種電離狀態(tài)使得等離子
    的頭像 發(fā)表于 11-29 10:06 ?4265次閱讀

    結(jié)構(gòu)成員的順序會(huì)影響結(jié)構(gòu)的大小嗎

    相同的結(jié)構(gòu)成員,如果把順序調(diào)整一下,會(huì)不會(huì)影響結(jié)構(gòu)的大小? 答案是會(huì)的,這主要跟字節(jié)對(duì)齊有關(guān)。 比如這樣的結(jié)構(gòu)
    的頭像 發(fā)表于 11-25 16:24 ?560次閱讀

    C語(yǔ)言和C++中結(jié)構(gòu)的區(qū)別

    同樣是結(jié)構(gòu),看看在C語(yǔ)言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?762次閱讀

    EMC(電磁兼容性)結(jié)構(gòu)設(shè)計(jì)基礎(chǔ)

    介紹了電磁兼容的基本定義,要求,結(jié)構(gòu)設(shè)計(jì)的準(zhǔn)則和方法。
    發(fā)表于 08-08 14:23 ?13次下載

    帶你認(rèn)識(shí)貼片一成型電感的材料結(jié)構(gòu)

    貼片一成型電感(也被稱為模壓電感)是一種具有特殊結(jié)構(gòu)和材料組成的電子元件。其材料結(jié)構(gòu)主要包括以下幾個(gè)方面: 一、主要材料 1. 金屬粉末 核心材料:一成型電感的主要材料是金屬粉末,
    的頭像 發(fā)表于 08-07 16:01 ?1070次閱讀
    帶你認(rèn)識(shí)貼片一<b class='flag-5'>體</b>成型電感的材料<b class='flag-5'>結(jié)構(gòu)</b>