How does Simulink Selector block work to extract dimension MxN matrix into 1xN row vectors?

56 ビュー (過去 30 日間)
Recently I was trying to take a 2x5 matrix signal and convert it into two 1x5 row vectors for further computation. To do so, I used the Simulink Selector block, and selected a 2 dimensional input (M of my MxN). Then to try and get just a row vector for dimension 1 and 2 respectively, I selected the Starting Index Option, and made sure that dimensional values were consistent (see image):
This setup works for the first row vector, but fails for the second row vector claiming the following error:
I eventually figured out how to split them into row vectors correctly via the following setup:
I am curious why the first setup works for the first row, but fails for the second row. Is this a bug, or do I have a fundamental misunderstanding of how this selector block is functioning? It seems odd that it would work in an inconsistent manner.
  2 件のコメント
Jake Gonzalez
Jake Gonzalez 2018 年 9 月 25 日
Aha! Based on this information, I made an edit to the input parameters and got the result I wanted.
Very Interesting. Thanks!



Fangjun Jiang
Fangjun Jiang 2018 年 9 月 24 日
Are you sure? I tried as your example and there is no error. The error happened in "Selector1" yet the dialog show "Selector2" and "Selector3".
  3 件のコメント
Fangjun Jiang
Fangjun Jiang 2018 年 9 月 24 日
The problem lies in the second dimension. The input is 2x5, so for the second dimension, if you starts with 2 but the output size is 5, then it requires 2x6 input. If you change the size from 5 to 4, then the error disappears.


その他の回答 (0 件)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by