簡體   English   中英

將simulink集成到matlab腳本中

[英]integrating simulink into a matlab script

我有以下問題。 我想將simulink模型集成到matlab腳本中,以便在程序的simulink部分中循環執行其他操作。 當我定義在工作區中的simulink模型中使用的參數時,下面的程序實際上可以實現我所希望的。 但是這種解決方案並不令我滿意。 我想將參數作為sim函數的第二個值傳遞。 不幸的是,我無法解決這個問題。 我確實從Matlab網站復制了該部分以創建結構,該站點提供了以下代碼示例。

myStruct = Simulink.Parameter;
myStruct.Value = struct('number',1,'units',24);
myStruct.CoderInfo.StorageClass = 'ExportedGlobal';

不幸的是,我收到以下錯誤Input argument "m_startSpeed" is undefined. 因為在我的腳本中,參數m_startSpeed是我在運行腳本時輸入的值。

function [optBreakPoint] = computeBreakPoint(m_startSpeed, m_endSpeed, m_length)
    myStruct = Simulink.Parameter;
    myStruct.Value = struct('m' , 1500, 'R' , 0.25, 'mi' , 1, 'f' , 0.1, 'F' , 50000,'BreakForce' , -10, 'startSpeed' , m_startSpeed, 'breakPoint' , m_length);
    myStruct.CoderInfo.StorageClass = 'ExportedGlobal';
    endSpeed = m_endSpeed;
    while(1)
        [T, X, Y] = sim('car', myStruct);
        optBreakPoint = breakPoint;
        break;
    end
    plot(T, X);
end

我應該如何解決這個問題?

輸入結構(即sim函數的第二個輸入)包含有關如何模擬模型的信息(即來自“模型配置”對話框或配置集的信息),而不包含模型中模塊的參數。

看哪一個

>> doc sim

http://www.mathworks.com/help/simulink/slref/sim.html ,以獲取該結構的外觀示例。

塊參數是從工作空間獲得的-默認情況下是“基本工作空間”,但是您可以通過更改模型的“ SrcWorkspace”參數來指定。

上面的文檔頁面上也討論了此屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM