# Cell arrays difference operation

조회 수: 2(최근 30일)
EldaEbrithil 14 Aug 2020
댓글: EldaEbrithil 14 Aug 2020
Hi all
i have a 2 cell arrays, Twcell_hot and tempTOT_hot;Twcell_hot is a 1x285 array where in each cell there is a single number, and tempTOT_hot is a 1x285 array where in each cell there is a column of 261 numbers. I want to perform the difference between each value in Twcell_hot and tempTOT_hot. I have tried with this code but with no success... I don't want to convert cell to matrices because i need cells in the computation
Tahank you for the help
for i=1:length(yendhot)
if abs(Twcell_hot{i}(1)-tempTOT_hot{i}(:,1))<20
temp_eq_hot{i}=tempTOT_hot{i};
end
end
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
EldaEbrithil 14 Aug 2020
Thank you for the reply, yes i want to do what you have written

댓글을 달려면 로그인하십시오.

### 채택된 답변

jonas 14 Aug 2020
편집: jonas 14 Aug 2020
First of all I would use cell2mat() to concatenate your cell array tempTOT_hot into a 261x285 array (double)
Then everything is much easier. You can make "column-wise" subtraction of arrays with size 1xn and a mxn.
%Some random data
T1 = rand(1,285).*100; %1 row, 285 columns
T2 = rand(261,285).*100; %261 rows, 285 columns
T_diff = abs(T2-T1); %calculate difference
%remove any values from T2 with an absolute difference of less than 20;
out = T2;
out(T_diff<20) = NaN;
Not sure if it is the output you're looking for.
##### 댓글 수: 3표시숨기기 이전 댓글 수: 2
EldaEbrithil 14 Aug 2020
or maybe using cell2mat

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!

Translated by