# Cell arrays difference operation

1 ビュー (過去 30 日間)
EldaEbrithil 2020 年 8 月 14 日
コメント済み: EldaEbrithil 2020 年 8 月 14 日
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 2020 年 8 月 14 日
Thank you for the reply, yes i want to do what you have written

サインインしてコメントする。

### 採用された回答

jonas 2020 年 8 月 14 日

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 2020 年 8 月 14 日
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