Delete Cells in Cell array in two loops....
이전 댓글 표시
Hi everyone,
I have the following code and want to delete the empty cells in the results:
tt1 = find(year(Time) == 2015 & month(Time) == 10);
tt2 = find(year(Time) == 2010 & month(Time) == 10);
tt3 = find(year(Time) == 2019 & month(Time) == 04);
JT = [ tt1; tt2; tt3 ];
H= [ 4, 8];
for h = H
for jt = JT'
PdfDat{h,jt+h}=strcat('T',num2str(year(Time(jt+h))), 'Q', num2str(ceil(month(Time(jt+h)) / 3)));
Pdfd{h,jt+h}=ResMatch_LU.PST(jt+h, :);
end
end
The results are the following in which I want to delete the [ ] such that the array will be presented in fucntion of 'h' and 'jt+h' :


I want also to delete [ ] in the cell "1x401 double" here in coulumns 52 and 56;
Could you please help me to do those changes? My Matlab version is R2015a.
Many thanks!
답변 (1개)
Ankit
2022년 1월 31일
'isempty' -- true for cells containing an empty array, false otherwise
PdfDat_new = PdfDat(~cellfun('isempty',PdfDat));
Pdfd_new = Pdfd(~cellfun('isempty',Pdfd));
댓글 수: 8
Ankit
2022년 2월 1일
PdfDat_new = reshape(PdfDat(~cellfun('isempty',PdfDat)),2,[])';
PdfDat_new1 = out(:,1); % 3x1 cell
PdfDat_new2 = out(:,2); % 3x1 cell
Ibrahs
2022년 2월 1일
Ankit
2022년 2월 1일
PdfDat_new1 = PdfDat_newout(1:2:5,:);
PdfDat_new2 = PdfDat_newout(2:2:6,:);
You can also use for loop and other ways to achieve as per your requirement
Rik
2022년 2월 1일
You should avoid numbered variables. It sounds like the number of PdfDat_new variables can change. If you can't guarantee that there will only be exactly 2, you should consider putting them in a cell array so you can index them in a loop.
Ibrahs
2022년 2월 1일
Ankit
2022년 2월 1일
why dont you use the method mentioned by rik? here with limited info and without having your relevant file it is not easy to reproduce the same problem
Rik
2022년 2월 1일
It would probably help if you replace this loop:
for h=H
with this loop:
for n_H=1:numel(H)
h=H(n);
...
PdfDat_new{n_H}=...
카테고리
도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




