How do I call specific rows of a matrix?
23 ビュー (過去 30 日間)
古いコメントを表示
I have a function who's output is a 1 dimensional array of random numbers i.e. rows = [1 2 5 19], how do I call those corresponding rows from a matrix i.e. A(1 2 5 19,:)? I understand how to do it step by step in the command window but I want a parent function to be able to call them no matter what they are or how many elements are in 'row'. I tried A(rows,:) but it returned "index exceeds matrix dimensions".
0 件のコメント
採用された回答
Image Analyst
2015 年 5 月 15 日
編集済み: Image Analyst
2015 年 5 月 15 日
Not sure what you tried, but this works perfectly fine:
rows = [1 2 5 19]
A = randi(9, 25, 2) % Sample data.
output = A(rows,:) % Extract rows 1, 2, 5, and 19 only.
Of course when you say "A(1 2 5 19,:)" that implies that A is a 2D array, but you said you want "a function who's output is a 1 dimensional array of random numbers" so I'm not exactly sure what 1D column vector you want. What would you have for your 1D output?
5 件のコメント
Walter Roberson
2015 年 5 月 15 日
what is size(A) and what is max(rows) ?
Is it possible that it should be a column index instead of a row index?
How was the index determined?
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!