How to find the element in on boundary or interior?
Mostra commenti meno recenti
a=[3 4 5;6 1 2]
I want to know if the element 2 is on boundary or interior?
how will i check?
2 Commenti
Image Analyst
il 7 Apr 2014
When a is a 2 by 3 matrix:
a =
3 4 5
6 1 2
Exactly which pixels do you consider to be interior and which to be exterior/boundary? The all look like boundary pixels to me.
Jos (10584)
il 7 Apr 2014
Boundary of what ?
Risposta accettata
Più risposte (2)
Image Analyst
il 7 Apr 2014
0 voti
What is element 2? The lower right element with the value of 2? Or row=2, column = 1 which is how the column major order of MATLAB defines the second element? Can't you just look at the row and column and see if it's equal to 1 or the total number of rows or columns in the matrix?
If you suppose there is only one value 2 in the matrix, this code may be useful:
a=[3 4 5;6 2 1; 1 6 9] % interior value % a=[3 4 5;6 1 2; 1 6 9] % edge value [nrow ncol]= size(a) % Obtain dimensions
% find(a==2) extract linear index, so you better convert to subindices [I,J] = ind2sub(size(a),find(a==2))
% and checking if I==1 J==1 I==nrow J==ncol display('In the edge') else display('interior value')
end
% If there are other 2 values you should create a for across the I and J vectors.
a=[3 4 5;6 2 1; 2 6 9];
[nrow ncol]= size(a); [I,J] = ind2sub(size(a),find(a==2));
for k=1:length(I) if I(k)==1 J(k)==1 I(k)==nrow J(k)==ncol display(['In the edge ( ', num2str(I(k)), ', ', num2str(J(k)), ' )'])
else display(['Interior value ( ', num2str(I(k)), ', ', num2str(J(k)), ' )'])
end
end
1 Commento
Anusha
il 7 Apr 2014
Categorie
Scopri di più su Logical in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!