日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于如何定義結構體的分析和介紹

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

掃碼添加小助手

加入工程師交流群

我們來聊聊結構體。

E-Coder 在做自動代碼生成的時候,在默認情況下,它會把所有的輸入信號定義為一個結構體_U,把所有的輸出信號定義為另一個結構體_Y,把所有的參數(shù)定義為一個結構體_P。雖然這樣的結構體不一定是我們想要的,但至少,說明自動代碼生成是支持結構體的。

本文并不解決“哪些情況下應該使用結構體”這個問題,這里來說說:

怎么實現(xiàn)我想要的結構體?

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

構造結構體

要得到:

typdef struct {

double k1;

double k2;

double k3;

} kk_type;

kk_type kk={2.0,3.0,4.0};

怎么做:

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

或者使用Simulink Bus來定義新的結構體類型 outyy

舉個例子

1.新建如下的簡單模型并生成代碼

先看一下 “正常的” 不使用結構體的情況:

關于如何定義結構體的分析和介紹

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

通過名字對應以及關聯(lián)操作,實現(xiàn)關聯(lián),也就是上圖中的藍色小叉子。具體如何操作以前介紹過。

關于如何定義結構體的分析和介紹

Ctrl + B,生成代碼:

關于如何定義結構體的分析和介紹

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

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

關于如何定義結構體的分析和介紹

看到,在生成的代碼里,得到一個新的結構體類型 kk_type:

關于如何定義結構體的分析和介紹

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

關于如何定義結構體的分析和介紹

3.把信號 yy1、yy2、yy3 也放在一個輸出結構體里

剛才的參數(shù)結構體是通過設置數(shù)據(jù)對象的 StorageClass 為 Struct 來實現(xiàn)的。而現(xiàn)在,以信號為例,使用另一種方式來實現(xiàn)這個目的: Simulink Bus。

a.首先,通過 Simulink Bus 來定義一個新的結構體數(shù)據(jù)類型 outyy:

關于如何定義結構體的分析和介紹

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

關于如何定義結構體的分析和介紹

那么此時,一個新的數(shù)據(jù)類型就構造好了。將來在生成代碼時,這個新的結構體類型就是這樣:

關于如何定義結構體的分析和介紹

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

b. 把 Simulink 的三個輸出信號使用 Bus Creator 模塊變成總線信號,取名叫 outStruct:

關于如何定義結構體的分析和介紹

設置這個 Bus Creator 模塊的數(shù)據(jù)類型為剛定義好的結構體 outyy。另外,還得勾選它為非虛擬總線。那么這樣,它在生成代碼時,就會被當做結構體來看:

關于如何定義結構體的分析和介紹

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

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

關于如何定義結構體的分析和介紹

4. 最后生成代碼

關于如何定義結構體的分析和介紹

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    關于MT6901的直線DEMO介紹

    關于MT6901的直線DEMO介紹
    的頭像 發(fā)表于 01-30 10:54 ?821次閱讀
    <b class='flag-5'>關于</b>MT6901的直線DEMO<b class='flag-5'>介紹</b>

    【產品介紹】Altair OptiStruct結構分析優(yōu)化軟件

    AltairOptiStruct支持結構分析優(yōu)化OptiStruct是一款久經考驗且成熟的現(xiàn)代化結構求解器,它可為線性和非線性分析提供綜合、準確且可擴展的解決方案,適用于多個學科,包括
    的頭像 發(fā)表于 01-06 17:56 ?2278次閱讀
    【產品<b class='flag-5'>介紹</b>】Altair OptiStruct<b class='flag-5'>結構</b><b class='flag-5'>分析</b>優(yōu)化軟件

    10個例子代碼,C語言結構的高級

    (\"Flag 3: %dn\", f.flag3); return 0; } 在這個例子中,我們使用了位字段來定義一個結構,其中每個成員變量都指定了所占用的位數(shù)。這樣
    發(fā)表于 01-05 06:32

    一個經典的結構和聯(lián)合體共用的實例

    連用例子: 1、首先定義一個結構,內部包含聯(lián)合體,如下; #define MAX_SOFTKEY_LEN 4 typedef enum { ENUM_TRANSFER
    發(fā)表于 12-16 07:14

    結構聲明與定義

    符號整數(shù)表示 } 這樣,我們就相當于描繪好了一個框架,以后要用的話直接定義一個這種類型的變量就好了。 2、定義 我們剛剛申請了一個名叫Info的結構類型,那么理論上我們可以像聲
    發(fā)表于 12-11 07:52

    typedef結構使用

    雖然結構的出現(xiàn)能夠讓我們有一個更科學的數(shù)據(jù)結構來管理數(shù)據(jù),但是每次使用結構都需要struct...,未免顯得有些冗長和麻煩。有了type
    發(fā)表于 12-08 07:04

    共用聲明

    還要考慮內存對齊的問題。 共用可以類似結構一樣來定義和聲明,但是共用還可以允許不帶名字: union { int i; ch
    發(fā)表于 12-05 07:24

    關于NFC鎳鋅鐵氧體片的介紹

    關于NFC鎳鋅鐵氧體片的介紹
    的頭像 發(fā)表于 12-04 10:52 ?593次閱讀
    <b class='flag-5'>關于</b>NFC鎳鋅鐵氧體片的<b class='flag-5'>介紹</b>

    為什么不建議用匿名結構

    說起匿名結構,想必大家第一感覺就是看著好高大上的名字,但實際上也就那樣。 typedef struct { union { struct { uint8_t bit_0:1
    發(fā)表于 12-04 07:39

    使用typede的f優(yōu)勢介紹

    可以讓代碼更加清晰簡潔使用typedef,我們可以在定義一個結構、聯(lián)合、枚舉變量時,省去關鍵字struct,讓代碼更加簡潔。 typedef struct student { char
    發(fā)表于 11-26 08:15

    C語言結構使用

    有時候需要將不同類型的數(shù)據(jù)組合為一個整體,以便于引用。例如,一名學生有學號、姓名、性別、年齡等屬性,如果針對每個屬性都單獨定義一個變量,那么當有多名學生時變量就難以分清。結構就是用來管理不同類
    發(fā)表于 11-12 08:30

    定義IO初始化結構

    由上述IOPORT相關功能的枚舉類型我們可以知道,在對IOPORT模塊進行初始化時需要根據(jù)情況配置它們。因此我們定義一個IOPORT初始化的結構類型IOPORT_Init_t,它的成員包括了由上述所有枚舉類型所聲明的變量,因此
    的頭像 發(fā)表于 07-16 16:26 ?1606次閱讀

    滲壓計在混凝土結構中的安裝指南

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

    LASCAD應用:動態(tài)多模分析和調Q運轉模擬

    目錄 動態(tài)多模分析和調Q運轉模擬1 1.介紹1 2.激光器連續(xù)輸出時輸出功率,模式競爭,和光束質量的模擬2 3.Q開關運轉模擬6 4.光闌影響模擬10 5.結論12 1.介紹 動態(tài)多模分析
    發(fā)表于 05-19 08:52

    GLAD應用:全息光柵模擬

    用于模擬全息記錄介質中形成的梯度折射率分布。全息結構一旦形成,就可以在傳輸過程中將一束入射光波逐漸轉換成形成體全息結構的另一束光波。兩束光波之間的能量傳遞轉換效率與全息
    發(fā)表于 05-15 09:32
    长顺县| 江达县| 河西区| 南京市| 华池县| 米林县| 德阳市| 无棣县| 敦化市| 麟游县| 麦盖提县| 小金县| 买车| 大理市| 读书| 永福县| 彭山县| 磐安县| 新田县| 永城市| 奇台县| 连云港市| 萨嘎县| 平江县| 石楼县| 湾仔区| 萍乡市| 涿鹿县| 永善县| 张家界市| 静宁县| 昌平区| 江川县| 桐庐县| 九龙县| 博湖县| 那曲县| 南涧| 无棣县| 东乡县| 九江县|