Feeding index returned by find in another matrix
2 views (last 30 days)
Show older comments
Dear Guys, I have an array 3x3 a [3x2]
a=[NaN,NaN; NaN,2; 11,NaN];
Each column represent the index that I have to feed in a specific table to return a given row. The problem is: how to get rid of NaN values in a given column?
Unfortunately, it is important to know in which column the index is because each column of the array is linked to a specific table.
Ex.
The index 11 in column 1 makes me select row 11 of table 1 while the same index in column 2 makes me select row 11 of table 2. Moreover since everything is parametric I cannot divide my 3x2 in two column arrays.
I need inside this recalling a procedure to neglect NaN values:
A{1,1}{a(:,1),8};
Otherwise, I have the error because array indices must be positive values.
Thanks to you all in advance!!:)
0 Comments
Accepted Answer
dpb
on 1 Oct 2021
Edited: dpb
on 1 Oct 2021
>> a=[NaN,NaN; NaN,2; 11,NaN];
>> a
a =
NaN NaN
NaN 2.00
11.00 NaN
>> [r,c]=find(isfinite(a))
r =
3.00
2.00
c =
1.00
2.00
>>
A sample use to find values in an auxiliary array B of size at least 11x2 --
V=arrayfun(@(i,j) B(i,j),r,c)
Salt to suit your specific addressing syntax.
0 Comments
More Answers (0)
See Also
Categories
Find more on Logical 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!