find the values in the row and column of the matrix by using the loop
3 views (last 30 days)
Show older comments
I have a matrix that consists of multiple rows and columns in a text file. I want to use the value in each row as x, the value in each column as y. How can I do this using a loop? Thanks in advance ..
2 Comments
Answers (2)
Star Strider
on 12 Apr 2019
Your ‘y’ values are not unique for each ‘x’ value.
If you want all the ‘y’ values for each ‘x’ value, this works:
D = load('Mymatrix.txt');
x = D(:,1);
y = D(:,2);
xyMtx = accumarray(x, y, [], @(x){x}); % All ‘y’ Values For Each ‘x’ Value
producing (for example):
x_1 = [xyMtx{1}] % ‘y’ Values For ‘x = 1’
x_3 = [xyMtx{3}] % ‘y’ Values For ‘x = 3’
x_20 = [xyMtx{20}] % ‘y’ Values For ‘x = 20’
that evaluate to:
x_1 =
2
93
x_3 =
1
2
3
92
93
94
x_20 =
4
5
6
89
90
91
Is that what you want?
2 Comments
Star Strider
on 12 Apr 2019
My pleasure.
It is relatively easy to do the reverse as well, that is to return all the x-values associated with every y-value.
See Also
Categories
Find more on Loops and Conditional Statements 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!