国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

我們來聊聊結構體。

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

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

怎么實現我想要的結構體?

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

構造結構體

要得到:

typdef struct {

double k1;

double k2;

double k3;

} kk_type;

kk_type kk={2.0,3.0,4.0};

怎么做:

設置數據對象的Storage Class屬性為 Struct

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

舉個例子

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

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

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

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

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

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

Ctrl + B,生成代碼:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

數據類型定義好了,接著,我們就要來用它了。

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

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

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

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

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

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

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

4. 最后生成代碼

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7335

    瀏覽量

    94779
  • 數據類型
    +關注

    關注

    0

    文章

    237

    瀏覽量

    14186
  • 結構體
    +關注

    關注

    1

    文章

    131

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    關于MT6901的直線DEMO介紹

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

    【產品介紹】Altair OptiStruct結構分析優化軟件

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

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

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

    一個經典的結構和聯合體共用的實例

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

    結構聲明與定義

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

    typedef結構使用

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

    共用聲明

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

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

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

    為什么不建議用匿名結構

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

    使用typede的f優勢介紹

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

    C語言結構使用

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

    定義IO初始化結構

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

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

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

    LASCAD應用:動態多模分析和調Q運轉模擬

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

    C語言中結構與聯合體的深度解析:內存布局與應用場景

    在于對內存的極致操控。結構構建數據實體,聯合體實現內存復用,二者的組合使用能創造出強大的數據結構。掌握它們的底層原理,配合內存分析工具(如Valgrind、GDB),將助你在嵌入式開
    發表于 04-08 09:18