Replace an element in a cell array when a certain value only occurs once?
이전 댓글 표시
I have a cell array (x) with varying numbers of elements in each cell. In the instance where there is only one value in a cell (e.g. column 7), I would like to replace with a -1. I have tried a few approaches including these:
for sum = sum(x {i}(:,1) > 0);
if sum(1,1) == 1
x {i}(:,1) = 0;
end
end
and
oout=sum(cellfun(@double,x(:,1:19)))
I would appreciate any help here. Thanks
채택된 답변
추가 답변 (1개)
KL
2017년 9월 11일
a = rand(20,1);
x = {a,a,a,a,1,a,a,a,1,a,a,a};
sizes_x = cellfun(@(e) (size(e,1)*size(e,2))==1,x,'UniformOutput',false)
x(cell2mat(sizes_x)) = {-1};
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!