Filter löschen
Filter löschen

Feeding index returned by find in another matrix

1 Ansicht (letzte 30 Tage)
Riccardo Tronconi
Riccardo Tronconi am 1 Okt. 2021
Bearbeitet: dpb am 1 Okt. 2021
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!!:)

Akzeptierte Antwort

dpb
dpb am 1 Okt. 2021
Bearbeitet: dpb am 1 Okt. 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.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by