精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

關于使用 parsim 輕松實現 Simulink 模型并行仿真的分析和研究

MATLAB ? 來源:djl ? 作者:Guy Rouleau ? 2019-09-16 11:06 ? 次閱讀

我們在用并行運算工具箱來多次運行模型的時候,一般都會改變些什么,來實現不同的仿真

在這里,我們可以通過 Simulink.SimulationInput 對象來實現。首先,我們為模型新建若干個 Simulink.SimulationInput 對象,然后通過它來定義不同的配置,包括初始狀態、模型參數、模塊參數、輸入信息以及模型使用的各種變量。

這是一個簡單的碰撞模型:

關于使用 parsim 輕松實現 Simulink 模型并行仿真的分析和研究

配置不同的 Restitution 系數,再實現并行仿真,如下圖:

關于使用 parsim 輕松實現 Simulink 模型并行仿真的分析和研究

我們從 -0.9 到 -0.2 取 10 個不同的系數值,然后構造了一個長度為 10 的Simulink.SimulationInput 對象數組。接著使用 setBlockParameter 方法,給指定的模塊 blk 的參數 'Gain' 設置了不同的值。最后調用 parsim ,把Simulink.SimulationInput 數組作為輸入參數,進行并行運算。

計算完畢,就會得到一組Simulink.SimulationOutput 作為返回值。

一些更真實的場景應用

在工作空間定義變量

在 parsim 出來之前,模型并行仿真的一大難點在于怎么去管理模型里的各種變量。我在之前的貼子里還介紹了各種管理攻略,比如各個模塊的參數值不再直接寫在對話框里,而是使用腳本來構造。比如這里的重力加速度 g 和恢復系數 Cr。

關于使用 parsim 輕松實現 Simulink 模型并行仿真的分析和研究

輸出的處理

在很多情況下,仿真會產生大量數據。尤其在遠程計算機集群上仿真的時候,一般都不需要傳遞全部的數據。所以,我們可以對這些記錄的數據做后處理,然后傳遞我們真正感興趣的那部分。

如下圖,這里構造了一個后處理函數 detectFallen,輸入仿真結果,返回一個結構體。這里返回的是球跳了多長時間,以及彈跳了多少次。

關于使用 parsim 輕松實現 Simulink 模型并行仿真的分析和研究

接著,我們跟剛才一樣構造 Simulink.SimulationInput 對象數組。有所不同的是,這里是使用 setVariable 方法來為 workspace 里的變量 Cr 設置不同的值。之后,把剛才構造的函數句柄賦給 Simulink.SimulationInput 對象的 postSimFcn 屬性。

代碼如下:

關于使用 parsim 輕松實現 Simulink 模型并行仿真的分析和研究

注意,在調用 parsim 時,我還使用了 UseFastRestart 來進一步加速仿真。這樣設置后,模型在每一個 worker 上只會編譯以及初始化一次。

錯誤處理

我喜歡 parsim 的另一個地方是它對仿真出錯的處理方法。

比如下面這個例子,返回的Simulink.SimulationOutput 對象里包括了錯誤提示信息以及錯誤發生之前仿真數據。

關于使用 parsim 輕松實現 Simulink 模型并行仿真的分析和研究

這些信息可以幫助我們理解模型哪里出了錯,也不需要重新仿真模型。

如果你基于這些記錄數據,也看不出模型哪里出了問題,那么你還可以在本地機器上使用同樣的參數配置來重新運行模型。這時候,你可以使用 SimulaitonInput 對象的applyToModel 方法。

就如它名字所說,這個函數會把這個SimulationInput 對象里的信息來配置本地模型,包括模型配置、參數值、變量值。這樣你就可以很容易得到一個跟遠程出錯的模型一模一樣的模型,在本地調試。

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

    關注

    19

    文章

    7430

    瀏覽量

    87733
  • 結構體
    +關注

    關注

    1

    文章

    130

    瀏覽量

    10835
收藏 人收藏

    評論

    相關推薦

    如何通過建模與仿真提升電力電子組件的設計與性能?

    建模過程被稱為建模,而仿真被定義為使用模型研究實際或理論系統的行為和性能的過程。在仿真中,模型可以用于
    的頭像 發表于 11-25 11:35 ?89次閱讀
    如何通過建模與<b class='flag-5'>仿真</b>提升電力電子組件的設計與性能?

    這些電源常用仿真軟件,你都知道嗎?

    出符合實際情況的模型,并對仿真結果心中有數,它不能替代計算和分析,用做驗證是合適的。 在前文「LLC諧振變換器仿真建模與控制策略分析」篇中,
    發表于 10-25 14:20

    Matlab/Simulink/Stateflow建模開發及仿真測試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開發及仿真測試,熟悉V模型開發流程。 熟悉自動代碼生成,能夠編寫或者配置自動代碼生成腳本。
    發表于 10-24 17:23

    機器人仿真的類型和優勢

    機器人仿真使機器人工程師和研究人員能夠創建機器人及其環境的虛擬模型。這項技術支持在仿真的無風險環境中測試和驗證機器人設計與控制算法以及與各種元素進行交互。通過使用
    的頭像 發表于 10-14 10:43 ?427次閱讀
    機器人<b class='flag-5'>仿真的</b>類型和優勢

    求助,LMP7721微電流檢測,有沒有供仿真的SPICE模型

    LMP7721微電流檢測,有沒有供仿真的SPICE模型
    發表于 09-09 07:14

    tina仿真的噪聲分析,可以分析電流噪聲嗎?

    tina仿真的噪聲分析,可以分析電流噪聲嗎
    發表于 08-06 08:23

    康謀分享 | 自動駕駛聯合仿真——功能模型接口FMI(二)

    功能模型接口在復雜系統的建模與仿真中具有重要作用。本文探討了FMU的時間概念、模型交換和聯合仿真的通信機制。通過C代碼示例,介紹了聯合仿真
    的頭像 發表于 06-26 14:40 ?3289次閱讀
    康謀分享 | 自動駕駛聯合<b class='flag-5'>仿真</b>——功能<b class='flag-5'>模型</b>接口FMI(二)

    電路仿真軟件simulink的工作原理

    Simulink是MATLAB的一個模塊,它采用圖形化的方式來創建動態系統模型并進行仿真分析Simulink的工作原理主要基于模塊化的建模
    的頭像 發表于 03-29 15:21 ?1531次閱讀

    電路仿真軟件simulink使用方法

    Simulink是MATLAB的一個重要組件,用于進行動態系統的建模和仿真
    的頭像 發表于 03-29 14:25 ?2272次閱讀

    【Matlab仿真】單相交交變頻器研究實現Simulink建模

    的交替工作。 最后利用MATLAB R2012a仿真軟件搭建單相交-交變頻器的仿真模型,并且經過調試,該電路模型能夠輸出幅值可調、頻率可調的正弦波形。 引言 交-交變頻器是通過電力電子
    發表于 03-26 17:20

    如何提高Simulink仿真性能呢?有哪些使用技巧?

    無論模型的復雜程度如何,每個 Simulink 用戶都希望提高仿真性能。本文介紹了許多實用技巧和技術,來幫助您在仿真工作流中獲得最佳的性能。
    的頭像 發表于 01-18 10:01 ?983次閱讀
    如何提高<b class='flag-5'>Simulink</b><b class='flag-5'>仿真</b>性能呢?有哪些使用技巧?

    使用仿真模型進行拓撲分析

    過去,仿真的基礎是行為和具有基本結構的模型,它們主要適用于簡單集成電路技術中使用的器件。但是,當涉及到功率器件時,這些簡單的模型通常無法預測與為優化器件所做的改變相關的現象。現在,通過引入物理和可
    的頭像 發表于 01-05 10:04 ?887次閱讀
    使用<b class='flag-5'>仿真</b><b class='flag-5'>模型</b>進行拓撲<b class='flag-5'>分析</b>

    LabVIEW進行癌癥預測模型研究

    )進行非線性數據分類。主成分分析(PCA)和線性判別分析(LDA)PCA和LDA用于降維,減少噪聲,并保留數據的重要特征。在并行PCA-LDA-SVM模型中,先對原始數據同時進行PCA
    發表于 12-13 19:04

    芯片前仿真和后仿真的區別

    在芯片設計中,前仿真和后仿真都是非常重要的環節,但它們在功能和目的上存在明顯的區別。本文將詳細介紹前仿真和后仿真的區別,以及它們在芯片設計中的應用和重要性。 一、前
    的頭像 發表于 12-13 15:06 ?7171次閱讀

    Saber中如何更好地提高仿真的收斂性(一)

    仿真過程中,由于仿真模型的不連續性,或者模型沒有適當地表征/參數化,或者當求解器無法求解控制模型行為的方程時,可能就會出現
    的頭像 發表于 12-05 14:43 ?1557次閱讀
    Saber中如何更好地提高<b class='flag-5'>仿真的</b>收斂性(一)