Delete specific numbers from cell array
3 次查看(过去 30 天)
显示 更早的评论
I have a 1801 x 20 data matrix where one column is one set of data. I need to calculate the log diff and I I actually wanted to clear each column from the zeros, but each column has a different amount of zeros within the data (which is not possible in a matrix). I did this so far:
p3=num2cell(p2) ;
p3(p3==0)=[];
or:
p3(cellfun(@(p3==0)=[];
But both didnt work.
2 个评论
Mathieu NOE
2020-11-18
hello Marie
why converting to cell array ? the test can be done directly on the nimeric data , column wise
regards
采纳的回答
KALYAN ACHARJYA
2020-11-18
result=cell(1,20);
for i=1:20
data=p2(:,i);
data(data==0)=[];
result{i}=data;
end
result
The result is a cell array, whose individual elements having coloum of the p2 martix without zero. Hence individual cell elements will have different length after zero deletion.
更多回答(1 个)
madhan ravi
2020-11-18
p2 = [1, 2; 0, 1]
p3 = num2cell(p2, 1);
Wanted = cellfun(@nonzeros, p3, 'un', 0)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!