get indices for part of a matrix

I have the matrix T, I want to get the indices of a part this matrix. I would imagine using a function of the form:
ind1 = getindexes(T,(1:35,:));
which would get me the indexes for the (1:35,:) part of matrix T. What is the fastest way to do this?

1 commentaire

Azzi Abdelmalek
Azzi Abdelmalek le 8 Nov 2014
Modifié(e) : Azzi Abdelmalek le 8 Nov 2014
Your question is not clear, you are asking for getting indices that you already have

Connectez-vous pour commenter.

Réponses (1)

Star Strider
Star Strider le 8 Nov 2014
Modifié(e) : Star Strider le 8 Nov 2014

0 votes

I’m not certain what you want to do. Here are two possibilities:
If you want to find the indices of particular elements in a vector or matrix, use the find function. You will probably have to experiment a bit with it to get the result you want.
If you want to get all the elements in the specific rows from 1:35 for all columns of ‘T’, this will work:
Tx = T(1:35,:);

2 commentaires

Christopher
Christopher le 8 Nov 2014
Modifié(e) : Christopher le 8 Nov 2014
I want the former, but this doesn't work:
ind1=find(T(2:35,:))
because it doesn't find the indices of T, it finds the indices of T(2:35,:). How do I find the indices corresponding to the original matrix?
Edit: changed T(1:35,:) to T(2:35,:) to reinforce my point.
If I define ‘T’ as:
T = randi(10,50,50);
This command:
[IndR,IndC] = find(T(2:35,:));
will return two 1700 columns with the first offset by 1, so that ‘IndR’ would result a vector of [1:34] repeating 50 times. (You would have to provide the offset.)
If you want the indices of particular elements om your matrix that meet specific conditions, for instance >10 and <20, the find function for that becomes:
[Ridx1020,Cidx1020] = find(T>=10 & T<=20);
where ‘Ridx1020’ are the row indices and ‘Cidx1020’ are the corresponding column indices of those value of ‘T’ that meet those criteria. To verify that they meet the criteria (always a good check), this will tell you:
for k1 = 1:length(Ridx1020)
Telm(k1,k1) = T(Ridx1020(k1), Cidx1020(k1));
end
We’ll keep iterating this in the morning.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by