Delete specific numbers from cell array
4 ビュー (過去 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 で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!