chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(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-12 09:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

鑒于有不少模型開(kāi)發(fā)工程師缺乏 C 語(yǔ)言的基本概念,我這里大致說(shuō)一下 C 代碼中的結(jié)構(gòu)體。

首先我們需要知道有結(jié)構(gòu)體類(lèi)型和結(jié)構(gòu)體變量。

結(jié)構(gòu)體類(lèi)型在 C 語(yǔ)言中的定義如下:

struct mystruct_T

{

uint8 a;

int16 b;

uint16 c;

};

這里 mystruct_T 就是結(jié)構(gòu)體類(lèi)型。結(jié)構(gòu)體類(lèi)型是一種組合數(shù)據(jù)類(lèi)型,不同于數(shù)組,結(jié)構(gòu)體的元素是可以有不同數(shù)據(jù)類(lèi)型的,上面的例子中 a、b、c 的數(shù)據(jù)類(lèi)型各不相同。

我們可以像使用基本數(shù)據(jù)類(lèi)型一樣使用結(jié)構(gòu)體類(lèi)型去定義變量,使用結(jié)構(gòu)體類(lèi)型定義的變量是結(jié)構(gòu)體變量,比如:

mystruct_T mystruct_var;

那么mystruct_var就是一個(gè)結(jié)構(gòu)體變量,可以通過(guò)如下結(jié)構(gòu)體變量右側(cè)加點(diǎn)來(lái)訪(fǎng)問(wèn)結(jié)構(gòu)體變量中的元素,比如:

mystruct_var.a = 30;

或者:

tmp = mystruct_var.c;

這樣,我們就有了結(jié)構(gòu)體類(lèi)型 mystruct_T 和結(jié)構(gòu)體變量 mystruct_var。

我們做一個(gè)假設(shè),如果上述結(jié)構(gòu)體里面的元素 c 不是一個(gè)單個(gè)元素,而是一個(gè)結(jié)構(gòu)體變量,情況將會(huì)怎么樣?比如:

struct mystruct_T

{

uint8 a;

int16 b;

substruct_T c;

};

結(jié)構(gòu)體里面還套著一個(gè)結(jié)構(gòu)體,于是我們就有了結(jié)構(gòu)體嵌套。

我們?cè)?C 語(yǔ)言中定義變量的時(shí)候,可以定義單個(gè)變量,也可以定義一個(gè)數(shù)組,比如:

int8 x[10];

結(jié)構(gòu)體類(lèi)型同樣也可以用于定義結(jié)構(gòu)體數(shù)組,比如

mystruct_T mystruct_array[10]

這樣,我們就有了結(jié)構(gòu)體數(shù)組。

下面我們一起看看如何在模型里建?;蛘吲渲?,讓生成的 C 代碼里出現(xiàn)結(jié)構(gòu)體變量、結(jié)構(gòu)體嵌套和結(jié)構(gòu)體數(shù)組。

開(kāi)始介紹之前,請(qǐng)大家記住兩點(diǎn):

C 代碼中的結(jié)構(gòu)體變量跟模型中的 Bus 信號(hào)相對(duì)應(yīng)

C 代碼中的結(jié)構(gòu)體類(lèi)型跟模型中的 Bus 對(duì)象相對(duì)應(yīng)

一. 結(jié)構(gòu)體變量的代碼實(shí)現(xiàn)

有模型如下:

關(guān)于結(jié)構(gòu)體變量建模的介紹和原理

數(shù)據(jù)字典中有 Bus對(duì)象 myBus 定義如下:

關(guān)于結(jié)構(gòu)體變量建模的介紹和原理

將 Inport 端口的數(shù)據(jù)類(lèi)型設(shè)置為 myBus,Inport 的外觀(guān)發(fā)生變化,變成環(huán)形。為控制結(jié)構(gòu)體變量的變量名如我們所期望,在信號(hào)線(xiàn)上設(shè)置信號(hào)名 x、y。然后在數(shù)據(jù)字典中分別定義信號(hào)對(duì)象 x、y。將 x、y 的數(shù)據(jù)類(lèi)型設(shè)置為 myBus,如下圖:

關(guān)于結(jié)構(gòu)體變量建模的介紹和原理

當(dāng)然,x、y 的存儲(chǔ)類(lèi)設(shè)置跟非結(jié)構(gòu)體代碼生成一樣,這里分別設(shè)置為 ImportedExtern 和 ExportedGlobal。

除此之外,還需要把 BusCreator 的輸出數(shù)據(jù)類(lèi)型設(shè)置為 myBus,如果你沒(méi)做這個(gè)設(shè)置, Embeded Coder 會(huì)提醒你設(shè)置。

做好上述設(shè)置,以及代碼生成的基本設(shè)置之后,Build 模型,代碼就有了,你會(huì)發(fā)現(xiàn)結(jié)構(gòu)體類(lèi)型 myBus 的定義如下:

typedef struct

{

real_T a;

real_T b;

real_T c;

} myBus;

變量 y 的定義如下:myBus y;

變量 x 的聲明如下:extern myBus x;

二. 結(jié)構(gòu)體嵌套的代碼實(shí)現(xiàn)

在上述例子中的數(shù)據(jù)字典中再定義一個(gè) Bus 對(duì)象 subBus,如下圖:

關(guān)于結(jié)構(gòu)體變量建模的介紹和原理

再將 myBus 中的元素 c 的數(shù)據(jù)類(lèi)型改為 subBus,模型做相應(yīng)的調(diào)整如下:

關(guān)于結(jié)構(gòu)體變量建模的介紹和原理

Build 模型,代碼中 myBus 的定義如下:

typedef struct

{

real_T a;

real_T b;

subBus c;

} myBus;

其中 subBus 定義如下:

typedef struct

{

real_T u;

real_T v;

} subBus;

數(shù)據(jù)字典中信號(hào)對(duì)象 x 和 y 的定義跟前面的例子一樣,結(jié)構(gòu)體變量 x 和 y 在代碼中的定義也跟前面的例子一樣,整個(gè)算法的實(shí)現(xiàn)函數(shù)如下:

void nestStructModel_step(void)

{

y.a = K * x.a;

y.b = K * x.b;

y.c.u = K *x.c.u;

y.c.v = K *x.c.v;

}

很顯然,結(jié)構(gòu)體嵌套,對(duì)應(yīng)到模型中,就是 Bus 嵌套。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guā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)注

    30

    文章

    4900

    瀏覽量

    70674
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    614

    瀏覽量

    28942
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    130

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    TechWiz LCD 2D應(yīng)用:不同結(jié)構(gòu)下的VT曲線(xiàn)

    我們可以在TechWiz LCD 2D軟件中調(diào)整電極的寬度,錐度,厚度和位置。 1. 案例結(jié)構(gòu) 2. 建模過(guò)程 2.1在TechWiz LCD 2D中創(chuàng)建結(jié)構(gòu) 2.2將com電極兩個(gè)掩膜的寬度均
    發(fā)表于 06-13 08:44

    滲壓計(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>中的安裝指南

    TechWiz LCD 2D應(yīng)用:IPS電極仿真

    和分析,而連接功能可以同時(shí)改變兩個(gè)或兩個(gè)以上的條件,在某些數(shù)據(jù)復(fù)雜的情況下可以簡(jiǎn)化數(shù)據(jù),降低運(yùn)算量。其含義解釋可參考下圖 本案例在一個(gè)簡(jiǎn)化的IPS結(jié)構(gòu)來(lái)使用變量和連接的功能 1. 建模任務(wù) 1.1
    發(fā)表于 05-15 09:31

    程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)

    《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》重點(diǎn)闡述了三大方向內(nèi)容: 1. C語(yǔ)言學(xué)習(xí)中的痛點(diǎn):針對(duì)當(dāng)前工程師在C語(yǔ)言學(xué)習(xí)中的痛點(diǎn),如指針函數(shù)與函數(shù)指針,如何靈活應(yīng)用結(jié)構(gòu)等。從變量的三要素(
    發(fā)表于 05-13 16:45

    概倫電子先進(jìn)器件建模平臺(tái)BSIMProPlus介紹

    BSIMProPlus是一款技術(shù)先進(jìn)的半導(dǎo)體器件SPICE模型建模平臺(tái),在其多年的產(chǎn)品歷史中一直保持在半導(dǎo)體行業(yè)SPICE建模市場(chǎng)和技術(shù)的領(lǐng)先地位,被眾多集成電路制造和設(shè)計(jì)公司采用作為標(biāo)準(zhǔn)SPICE建模工具。
    的頭像 發(fā)表于 04-16 09:03 ?453次閱讀
    概倫電子先進(jìn)器件<b class='flag-5'>建模</b>平臺(tái)BSIMProPlus<b class='flag-5'>介紹</b>

    TechWiz LCD 2D應(yīng)用:不同結(jié)構(gòu)下的VT曲線(xiàn)

    我們可以在TechWiz LCD 2D軟件中調(diào)整電極的寬度,錐度,厚度和位置。 1. 案例結(jié)構(gòu) 2. 建模過(guò)程 2.1在TechWiz LCD 2D中創(chuàng)建結(jié)構(gòu) 2.2將com電極兩個(gè)掩膜的寬度均
    發(fā)表于 02-06 10:18

    VirtualLab:系統(tǒng)建模分析器

    ,系統(tǒng)建模分析器。本文檔介紹該工具的使用方法。 系統(tǒng)建模分析器 如何運(yùn)行建模分析器 系統(tǒng)建模分析器 例1:光束清理濾波器 示例 – 光
    發(fā)表于 01-14 09:45

    TechWiz LCD 3D應(yīng)用:表面反射(底面)

    TechWiz軟件可以考慮顯示面板每層的多次反射來(lái)計(jì)算表面反射,之前我們?cè)?b class='flag-5'>介紹過(guò)關(guān)于外部光源的反射,本例將介紹關(guān)于底部(即從背光源一側(cè)發(fā)出)的光源的反射的計(jì)算 使用Surface
    發(fā)表于 12-26 08:56

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

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

    結(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次閱讀

    圖紙模板中的文本變量

    “ ?文本變量和系統(tǒng)自帶的內(nèi)置變量,可以幫助工程師靈活、高效地配置標(biāo)題欄中的信息,而不用擔(dān)心模板中的文字對(duì)象被意外修改。 ? ” 文本變量的語(yǔ)法 文本變量以?${VARIABLENAM
    的頭像 發(fā)表于 11-13 18:21 ?649次閱讀
    圖紙模板中的文本<b class='flag-5'>變量</b>

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

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

    Linux環(huán)境變量配置方法

    Linux上環(huán)境變量配置分為設(shè)置永久變量和臨時(shí)變量兩種。環(huán)境變量設(shè)置方法同時(shí)要考慮環(huán)境Shell類(lèi)型,不同類(lèi)型的SHELL設(shè)置臨時(shí)變量方法和
    的頭像 發(fā)表于 10-23 13:39 ?699次閱讀

    詳細(xì)介紹三維建模的優(yōu)勢(shì)和未來(lái)發(fā)展方向

    深入探討三維建模的定義、應(yīng)用領(lǐng)域以及其與二維設(shè)計(jì)的區(qū)別,同時(shí)詳細(xì)介紹三維建模的優(yōu)勢(shì)和未來(lái)發(fā)展方向。 1. 三維建模的定義 三維建模是指使用計(jì)
    的頭像 發(fā)表于 09-12 14:30 ?857次閱讀

    Python建模算法與應(yīng)用

    上成為理想的腳本語(yǔ)言,特別適用于快速的應(yīng)用程序開(kāi)發(fā)。本文將詳細(xì)介紹Python在建模算法中的應(yīng)用,包括常見(jiàn)的建模算法、Python在建模中的優(yōu)勢(shì)、常用庫(kù)以及實(shí)際案例。
    的頭像 發(fā)表于 07-24 10:41 ?1246次閱讀