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

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

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

關(guān)于MATLAB Function實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)介紹

MATLAB ? 來(lái)源:djl ? 作者:柚籽 ? 2019-09-17 09:53 ? 次閱讀

其實(shí)也就是使用 Simulink 庫(kù)里相應(yīng)的模塊,以及使用 Stateflow 流程圖向?qū)АT谶@一篇,我們介紹使用MATLAB Function的方式。

其實(shí),如果想在 Simulink 里嵌套使用 m 腳本來(lái)實(shí)現(xiàn)某些復(fù)雜的數(shù)學(xué)運(yùn)算,用 MATLAB Function 也是一種很方便的途徑。

點(diǎn)擊末尾的 “閱讀原文” 下載本文的案例模型

循環(huán)邏輯

要得到:

y1 = 0;

for(inx = 0; inx <10; inx++)

{

y1 = u1[inx] + y1;

}

或者

while(flag && (num_iter <= 100)

{

flag = func ();

num_iter ++;

}

怎么做:

MATLAB Function 模塊可以直接寫(xiě)相應(yīng)的 m 腳本。

For循環(huán)

1. 簡(jiǎn)單模型

直接把循環(huán)的腳本寫(xiě)進(jìn)去就行了:

關(guān)于MATLAB Function實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)介紹

得到代碼:

關(guān)于MATLAB Function實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)介紹

2. 調(diào)用外部函數(shù)

當(dāng) m 腳本里,如果有些運(yùn)算需要調(diào)用到外部已有的 Simulink 函數(shù)時(shí),跟 Stateflow 一樣,也可以使用 function call 的形式。如下圖,在 MATLAB Function 的數(shù)據(jù)管理界面上,將 func 設(shè)置為 function call 類(lèi)型:

關(guān)于MATLAB Function實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)介紹

MATLAB Function 內(nèi)部運(yùn)行到 func; 這一句時(shí),觸發(fā)調(diào)用外部的 Trigger 子系統(tǒng) func 計(jì)算輸出,從而更新 func_flag 的值:

關(guān)于MATLAB Function實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)介紹

生成的代碼如圖,這里做了模型配置把所有代碼注釋都去掉了:

關(guān)于MATLAB Function實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)介紹

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 循環(huán)
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    15940
  • 運(yùn)算
    +關(guān)注

    關(guān)注

    0

    文章

    129

    瀏覽量

    25760
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    14798
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    verilog系統(tǒng)函數(shù)做數(shù)學(xué)運(yùn)算

    Verilog中的數(shù)學(xué)函數(shù)可以模擬C代碼中的浮點(diǎn)運(yùn)算,以前一直沒(méi)怎么重視這個(gè),現(xiàn)在覺(jué)得對(duì)于仿真FPGA和ARM相互配合運(yùn)算的場(chǎng)景非常有用。以前還一直傻傻不清楚如何才能對(duì)這些中間的浮點(diǎn)運(yùn)算
    的頭像 發(fā)表于 10-24 15:34 ?80次閱讀
    verilog系統(tǒng)函數(shù)做<b class='flag-5'>數(shù)學(xué)運(yùn)算</b>

    比較器與運(yùn)算放大器件選型應(yīng)用優(yōu)勢(shì)介紹

    增益、輸入阻抗和極低的輸出阻抗。它不僅能夠執(zhí)行基本的放大功能,還能通過(guò)反饋網(wǎng)絡(luò)實(shí)現(xiàn)加法、減法、積分、微分等多種數(shù)學(xué)運(yùn)算。運(yùn)算放大器是模擬信號(hào)處理中的基石,廣泛應(yīng)用于信號(hào)調(diào)理、濾波、振蕩器設(shè)計(jì)等場(chǎng)合
    發(fā)表于 09-30 09:05

    matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析

    matlab神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析 精通的可以討論下
    發(fā)表于 09-18 15:14

    MATLAB(4)--MATLAB基本運(yùn)算

    算術(shù)運(yùn)算 基本算術(shù)運(yùn)算符:+(加)、-(減)、*(乘)、/(右除)、(左除)、^(乘方)。 MATLAB運(yùn)算是在矩陣意義下運(yùn)行的。 單個(gè)數(shù)據(jù)的算術(shù)
    發(fā)表于 09-06 10:18

    基于MATLAB的通信系統(tǒng)設(shè)計(jì)

    在通信系統(tǒng)設(shè)計(jì)領(lǐng)域,MATLAB作為一款強(qiáng)大的數(shù)學(xué)計(jì)算與仿真軟件,廣泛應(yīng)用于信號(hào)處理、通信系統(tǒng)建模與仿真等方面。本文將詳細(xì)介紹一個(gè)基于MATLAB的通信系統(tǒng)設(shè)計(jì)方案,包括系統(tǒng)架構(gòu)、各模
    的頭像 發(fā)表于 07-18 15:52 ?727次閱讀

    matlab預(yù)測(cè)模型有哪些

    環(huán)境,使其成為預(yù)測(cè)模型開(kāi)發(fā)和實(shí)現(xiàn)的理想平臺(tái)。本文將詳細(xì)介紹MATLAB中常用的預(yù)測(cè)模型及其應(yīng)用。 線性回歸模型 線性回歸是一種簡(jiǎn)單的預(yù)測(cè)模型,用于分析兩個(gè)或多個(gè)變量之間的線性關(guān)系。在MATLA
    的頭像 發(fā)表于 07-11 14:27 ?601次閱讀

    運(yùn)算放大器的工作原理和重要應(yīng)用

    運(yùn)算放大器(Operational Amplifier,簡(jiǎn)稱(chēng)OP、OPA、OPAMP、運(yùn)放)是具有很高放大倍數(shù)的電路單元,是模擬電子電路的基本組成部分之一。由于早期應(yīng)用于模擬計(jì)算機(jī)中,用以實(shí)現(xiàn)數(shù)學(xué)運(yùn)算
    的頭像 發(fā)表于 07-04 18:26 ?1876次閱讀
    <b class='flag-5'>運(yùn)算</b>放大器的工作原理和重要應(yīng)用

    運(yùn)算放大器的工作原理和基本電路 使用運(yùn)算放大器的電路設(shè)計(jì)

    ,其輸出信號(hào)可以是輸入信號(hào)加、減或微分、積分等數(shù)學(xué)運(yùn)算的結(jié)果。由于早期應(yīng)用于模擬計(jì)算機(jī)中用以實(shí)現(xiàn)數(shù)學(xué)運(yùn)算,因而得名“運(yùn)算放大器”。
    的頭像 發(fā)表于 02-25 16:43 ?5011次閱讀
    <b class='flag-5'>運(yùn)算</b>放大器的工作原理和基本電路 使用<b class='flag-5'>運(yùn)算</b>放大器的電路設(shè)計(jì)

    verilog task和function區(qū)別

    verilog中的task和function都是用于實(shí)現(xiàn)模塊中的可重復(fù)的功能,并且可以接收參數(shù)和返回結(jié)果。但是它們?cè)诰帉?xiě)和使用上有一些區(qū)別。下面將詳細(xì)介紹task和function的區(qū)
    的頭像 發(fā)表于 02-22 15:53 ?902次閱讀

    運(yùn)算放大器的工作原理和基本電路

    運(yùn)算放大器(Operational Amplifier,簡(jiǎn)稱(chēng)“運(yùn)放”)是一種具有極高放大倍數(shù)的電路單元,通常結(jié)合反饋網(wǎng)絡(luò)共同組成某種功能模塊。它的核心特性是,其輸出信號(hào)可以是輸入信號(hào)經(jīng)過(guò)加、減、微分、積分等數(shù)學(xué)運(yùn)算后的結(jié)果。由于早期主要被應(yīng)用于模擬計(jì)算機(jī)中以
    的頭像 發(fā)表于 02-06 11:36 ?1.1w次閱讀
    <b class='flag-5'>運(yùn)算</b>放大器的工作原理和基本電路

    運(yùn)算放大電路是什么?

    運(yùn)算放大電路是一種基本的電子電路,使用運(yùn)算放大器作為核心元件。運(yùn)算放大電路通常用于信號(hào)處理、濾波、放大、比較和數(shù)學(xué)運(yùn)算等應(yīng)用。
    的頭像 發(fā)表于 01-19 09:20 ?778次閱讀
    <b class='flag-5'>運(yùn)算</b>放大電路是什么?

    運(yùn)算放大器的主要作用

    運(yùn)算放大器(Operational Amplifier,簡(jiǎn)稱(chēng)Op-Amp)是一種高增益、直流耦合的電子放大器,主要用于放大電壓信號(hào)、進(jìn)行數(shù)學(xué)運(yùn)算、濾波、比較信號(hào)等功能。Op-Amp在電子電路中扮演著重要的角色。
    的頭像 發(fā)表于 12-14 18:11 ?1179次閱讀

    pycharm中math模塊選哪個(gè)

    中,我們將詳細(xì)介紹math模塊的各種功能和用法。 首先,讓我們來(lái)了解一下如何導(dǎo)入math模塊。在PyCharm中,我們可以使用以下語(yǔ)句導(dǎo)入math模塊: import math 導(dǎo)入后,我們就可以使用其中的各種功能。 基本運(yùn)算 math模塊提供了一些基本的
    的頭像 發(fā)表于 11-22 11:06 ?858次閱讀

    C語(yǔ)言中關(guān)于數(shù)學(xué)運(yùn)算相關(guān)知識(shí)

    數(shù)學(xué)運(yùn)算的主要目的是進(jìn)行數(shù)值計(jì)算,這其實(shí)可以衍生出很多應(yīng)用,如模數(shù)/數(shù)模轉(zhuǎn)換、數(shù)據(jù)處理、尋址、控制算法實(shí)現(xiàn)等。
    的頭像 發(fā)表于 11-08 10:04 ?651次閱讀
    C語(yǔ)言中<b class='flag-5'>關(guān)于</b><b class='flag-5'>數(shù)學(xué)運(yùn)算</b>的<b class='flag-5'>相關(guān)</b>知識(shí)

    MATLAB如何實(shí)現(xiàn)PID?

    MATLAB是一種非常強(qiáng)大的工具,用于實(shí)現(xiàn)和分析PID(比例-積分-微分)控制器。在MATLAB中,您可以使用控制系統(tǒng)工具箱來(lái)設(shè)計(jì)、模擬和調(diào)整PID控制系統(tǒng)。以下是一般步驟,演示如何在MATL
    的頭像 發(fā)表于 11-04 08:00 ?2618次閱讀
    <b class='flag-5'>MATLAB</b>如何<b class='flag-5'>實(shí)現(xiàn)</b>PID?