Matrix line by line
1 view (last 30 days)
Show older comments
how can i go through a matrix line by line?
I have this matrix and would like to have the value of a spinner depending on the value.
x = [1:1:5; 6:1:10]
0 Comments
Accepted Answer
Walter Roberson
on 20 Apr 2021
x = [1:1:5; 6:1:10; 11:15; 16:20; 21:25; 26:30; 31:35; [36, 0, -1, nan, nan]];
nrow = size(x,1);
for K = 1 : 5
spin = randi(nrow);
randrow = x(spin,:)
end
3 Comments
Walter Roberson
on 20 Apr 2021
It sounds like you want linear indexing, but row by row
x = [1:1:5; 6:1:10; 11:15; 16:20; 21:25; 26:30; 31:35; [36, 0, -1, nan, nan]];
nent = numel(x);
xt = x.';
for K = 1 : 5
spin = randi(nent);
randval = xt(spin);
[spin, randval]
end
The entries in the array happen to all be equal to their index when operating with that scheme, except for the last few, and you can see in my example that indeed it happened to pull out the stored value (0) at index 37
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!