How to remove the dublicated cells and empty cells

조회 수: 2 (최근 30일)
busra gogen
busra gogen 2022년 5월 30일
댓글: busra gogen 2022년 5월 30일
[A B]=size(SA);
for k=2:A
for j=1:B
if SA(k,j)~=0
as=as+1;
Atable{k,:}(:,as)=[SA(1,j) SA(k,j) SA(k,j)/(e-b+1) log10(SA(k,j)/(e-b+1))];
end
end
end
I have a 1X36 SA matrix and I obtained the values which are not equal to zero but there is an extra empty cell in Atable. How should I modify this code to remove the empty cell?
Also, In the double matrixes, there are some dublicated elements in each row but I want to remove them by keeping the last dublicated value. For example, If I have A matrix, I want to obtain the final A as shown in below.
A=[1 2 3 4 5 6 7 8;0.7 0.7 0.6 0.6 0.6 0.5 0.5 0.4]
Final_A=[2 5 7 8;0.7 0.6 0.5 0.4]

채택된 답변

KSSV
KSSV 2022년 5월 30일
Let A be your cell array.
A = A(~cellfun('isempty',A)) ; % A has no more empty cells

추가 답변 (1개)

Walter Roberson
Walter Roberson 2022년 5월 30일
format long g
A = [1 2 3 4 5 6 7 8;0.7 0.7 0.6 0.6 0.6 0.5 0.5 0.4]
A = 2×8
1 2 3 4 5 6 7 8 0.7 0.7 0.6 0.6 0.6 0.5 0.5 0.4
[~, ia] = unique(fliplr(A(2,:)), 'stable');
fliplr(A(:,end-ia+1))
ans = 2×4
2 5 7 8 0.7 0.6 0.5 0.4

카테고리

Help CenterFile Exchange에서 Fluid Dynamics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by