Azzera filtri
Azzera filtri

How to resize array using a mask

6 visualizzazioni (ultimi 30 giorni)
Dubstep Dublin
Dubstep Dublin il 22 Set 2020
Modificato: Image Analyst il 22 Set 2020
I have got an array a = { 1 , 2 , 3 ; 4 , 5 , 6 ; 7 , 8 , 9 }
also have a mask, mask = { 1 ; 0 ; 1 }
If I do a*mask, I want the resulting array = { 1 , 2 , 3 ; 7 , 8 , 9 }
Any suggestions on how to implement this?

Risposte (3)

Walter Roberson
Walter Roberson il 22 Set 2020
a(logical(cell2mat(mask)),:)

Ameer Hamza
Ameer Hamza il 22 Set 2020
a = [1 , 2 , 3 ; 4 , 5 , 6 ; 7 , 8 , 9];
b = [ 1; 0; 1];
c = a(b==1, :);

Image Analyst
Image Analyst il 22 Set 2020
Modificato: Image Analyst il 22 Set 2020
Assuming you're using double arrays...(since I see no need for you to be using cell arrays).
a = [1, 2, 3; 4, 5, 6; 7, 8, 9]
mask = [1; 0; 1]
masked_a = a(logical(mask), :)

Categorie

Scopri di più su Author Block Masks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by