To remove elements from a matrix and convert into single column
Afficher commentaires plus anciens
Hi,
I have one problem with the removal of elements in a matrix, say I have the matrix of 3*3 as
7 8 9;
4 5 6;
1 2 3
I want to extract only 1 2 3 and 7 8 9 nos and that too these should be in a single column as
1
2
3
7
8
9
And also this is in for loop with i = 1:9
How can I do this inside the for loop?
Thanks and Regards,
Sunag R A.
Réponses (2)
KSSV
le 22 Déc 2016
Why loop you can straight away extract what you want:
A = [7 8 9; 4 5 6; 1 2 3] ;
% without loop
iwant = [A(end,:) A(1,:)] ;
Read about matlab indexing: https://www.mathworks.com/company/newsletters/articles/matrix-indexing-in-matlab.html
Sunag R A
le 22 Déc 2016
0 votes
1 commentaire
KSSV
le 22 Déc 2016
You can remove / delete 4,5,6 which falls in second row using
A = [7 8 9; 4 5 6; 1 2 3] ;
A(2,:) = []
To check with many numbers, you have to give conditions, like what numbers you want to delete/ remove.
A = [7 8 9; 4 5 6; 1 2 3] ;
% remove 4,5,6
[m,n] = size(A) ;
B = A ;
for i = 1:m
if any(A(i,:) >=4 & A(i,:)<=6)
B(i,:) = [] ;
end
end
% arrange B in column
iwant = sort(B(:))';
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!