Find number of row in a table.
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have the following table
tblB =
Symbol Count
______ _____
1 25
3 8
2 7
5 7
4 6
10 3
8 2
11 1
12 1
14 1
15 1
16 1
21 1
which is based on the matrix E1 below
E1 =
1 1 4 5 1 1 3 1
1 1 2 5 1 1 1 1
3 4 1 3 5 10 5 4
4 2 3 4 5 8 4 1
1 2 12 16 1 1 3 3
1 2 10 14 1 1 1 1
1 1 10 8 2 5 3 15
5 2 1 3 2 21 1 11
How can I find the number of row for the symbol of the matrix.?
For example for E1(1,1) is from row 1 of tblB and so on....
row = [1 1 5 4 1 1 2 1......]
1 Kommentar
Image Analyst
am 24 Dez. 2018
Bearbeitet: Image Analyst
am 24 Dez. 2018
E1(1,1) is 1. So you want to find every row of tblB that has equals E1(1,1)?
Like
rowsWith1 = tblB{:, 1} == E1(1,1) | tblB{:, 2} == E1(1,1);
Please clarify. How are you getting the columns (values) in your row vector called "row" from tblB and E1(1,1)?
Akzeptierte Antwort
dpb
am 24 Dez. 2018
Preliminaries...
E1 =[1 1 4 5 1 1 3 1
1 1 2 5 1 1 1 1
3 4 1 3 5 10 5 4
4 2 3 4 5 8 4 1
1 2 12 16 1 1 3 3
1 2 10 14 1 1 1 1
1 1 10 8 2 5 3 15
5 2 1 3 2 21 1 11];
u=unique(E1);
n=histc(E1(:),u);
[n,ix]=sort(n,'descend');
t=table(u(ix),n,'VariableNames',{'Symbol','Count'});
Now the magic...
>> arrayfun(@(x) find(x==t.Symbol),E1)
ans =
1 1 5 4 1 1 2 1
1 1 3 4 1 1 1 1
2 5 1 2 4 6 4 5
5 3 2 5 4 7 5 1
1 3 9 12 1 1 2 2
1 3 6 10 1 1 1 1
1 1 6 7 3 4 2 11
4 3 1 2 3 13 1 8
>>
2 Kommentare
dpb
am 24 Dez. 2018
Bearbeitet: dpb
am 25 Dez. 2018
No problem...glad to help. :)
BTW, be aware that the data of the table t is embedded in the anonymous function when the function is defined. Thus if the data in the table change, you must also redefine the function...that happens automagically as written but if you were to define a separate function handle first and then change the data, then the existing function handle wouldn't know anything about that new data...
Weitere Antworten (1)
KSSV
am 24 Dez. 2018
YOu have many functions to get that information. Read about find, ismember and logical sign ==. YOu can access the whole column of table tblB using.
tblB.(1)
tblB.(2)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!