Remove 0 values from an array
8 次查看(过去 30 天)
显示 更早的评论
I've read in data from an Excel spreadsheet consiting of 7 rows and 3 columns.
In each colum there is a 0 value (column 1, row 7; column 2, row 2; column 3, row 4).
Is there a way to remove these values from the array (without modifying the initial data that is brought in from Excel)?
3 个评论
DGM
2022-3-9
编辑:DGM
2022-3-9
Even if there is only one zero value per column, removing them and collapsing vertically will mean your data is misaligned in the region where values were removed.
For example:
% create a patterned array
A = (1:10)' + (10:10:30);
A([3 15 27]) = 0
% remove zeros and reshape
A = reshape(A(A~=0),[9 3])
% note the loss of alignment in the middle
all(range(mod(A,10),2)==0,2)
回答(1 个)
Rik
2022-3-9
% create a patterned array
A = (1:10)' + (10:10:30);
A([3 15 27]) = 0;
row_has_zero = any( A==0 ,2)
A(row_has_zero,:)=[]
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!