[英]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.