2013-07-05 41 views
0

我有一個Simulink模型,它必須執行以下操作: In1輸入將採用3個元素輸入的向量(這將是時變的(這就是爲什麼我想到了FOR循環!) 但對於最初的開發/測試目的我使用了常數[1 3 6]) 和In2是6X3大小的常數矩陣,其值是 X =FOR Simulink中的迭代器塊

1  4  6 
1  4  5 
1  3  6 
0  0  0 
2  3  5 
3  5  7 

Simulink模型應該輸出對應的索引(1基於索引)的X中的[1 3 6](應該是3)。 當我模擬這個模型時,我能夠在FOR循環內的每個循環(10 ms循環)看到值'3'。但是當我看到輸出(在FOR子系統之外)時,它總是顯示'0'並且永遠不等於'3'。我無法理解這種行爲。 請幫忙!

+1

這並不能解釋你所看到的,但是你可能會發現一個MATLAB函數塊更容易用於這種類型的算法。 –

回答

1

for循環不會以與Simulink模型相同的採樣時間進行迭代。所有迭代都發生在單個採樣時間內。我想這就是爲什麼你總是得到'3',因爲這是for循環的最後一次迭代的結果。也許你可以使用選擇器塊來做你需要的。