2013-09-23 8 views
3

我的Simulink模型將包含(很多)n相同的子系統,每個子系統由大約30個不同的預定參數定義。目前,每次我複製一個子系統時,我都需要修改每一個塊的屬性,因此還有很多錯誤傾向性的工作。因此,我的想法是存儲在一個矢量對應的參數如下:如何在Simulink中克隆子系統但使用不同的參數集?或者:如何爲子系統定義本地索引變量?

parametersA = (parameterA1 , parameterA2 , ... , parameterAn); 
... 
parametersZ = (parameterZ1 , parameterZ2 , ... , parameterZn); 

在塊屬性的值將被用於子系統#2和parametersA(n)爲第n子系統定義爲parametersA(2)。或者想象每個子系統都包含一個PID控制器,並且需要定義比例增益KP。所以第一個子系統將調用KP(1)和第n個KP(n)

因此,我的基本問題是:如何在每個子系統中聲明我的索引變量n,以便每個塊知道要調用的參數向量的哪個元素?

另外一個問題是:它是否真的有必要複製我的子系統,或者一切都可以在一個系統中完成?這會影響模擬時間嗎?

回答

3

您是否看過屏蔽子系統並僅使用掩碼中的一個結構進行參數化(請參閱文檔中的Masking)?然後,掩碼下的所有塊將用該結構的字段進行參數化。然後,您可以擁有一個用於對子系統的每個實例進行參數化的結構的單元陣列。實際上,掩碼可能需要的唯一參數是單元格數組中的索引,它在基工作區中定義。

+0

謝謝,這很容易;)你看到一種方法來訪問子系統很容易通過實現一個按鈕「看下面具」?因爲我的模型應該由幾乎沒有simulink經驗的人使用,所以他們需要查看掩碼,但是可能不會通過右鍵單擊來考慮這個選項。我可以在面具描述中提到它,但它應該儘可能簡單。 – thewaywewalk

+0

我不確定新的Simulink編輯器是否允許使用模型瀏覽器在蒙面子系統下導航。也可以使用open_system將自定義命令添加到模型編輯器(http://www.mathworks.co.uk/help/simulink/ug/adding-items-to-model-editor-menus.html)或hilite_system並指向掩碼下面的塊。 – am304

+0

是的,新的Simulink編輯器(從2012a開始)在每個屏蔽子系統的左下角顯示一個小箭頭圖標。只需點擊箭頭即可進行導航。 – pmb

相關問題