How do I call specific rows of a matrix?
36 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Image Analyst
on 15 May 2015
Edited: Image Analyst
on 15 May 2015
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 Comments
Walter Roberson
on 15 May 2015
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?
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!