" Array dimensions must match for binary array op."
1 view (last 30 days)
Show older comments
Dear experts,
I need your help;)
I got an Error :" Array dimensions must match for binary array op."
I have 1x14 cell ThAll : { 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double 4-D double}.
Each "4-D double" is a different size matrix . I need to find mean value matrix across all of these 4-D double matrices.
At first , I wanted to make all matrices in one ThAll cell array in the same size with NaN, then add all of them and find one mean value matrix across all matrices. I do it in next way:
for k = 1:length(ThAll) % Im not sure if Im making the same size for all matrices right; I think in this part is error
m = size(ThAll{k},1);
ThAll{k}(m+1, : , :, :) = NaN;
end
sum = ThAll{1}; % sum of all matrices
for i = 2:length(ThAll)
sum = sum + ThAll{i};
end
meanThAll = sum ./ length(ThAll); % one mean matrix across all matrices in cell array
Can someone help with this Error :" Array dimensions must match for binary array op" in my case ?
A lot thanks in advance!
2 Comments
Walter Roberson
on 5 Jun 2020
Which MATLAB release are you using? In particular, are you using R2016b or later?
Answers (1)
Sulaymon Eshkabilov
on 5 Jun 2020
Here is one of the easy solutions:
for jj=1:numel(ThAll)
TH_all=ThAll{jj};
for kk=1:4
TH_ALL(jj, kk)=mean2(TH_all(:,:,kk));
end
end
4 Comments
Walter Roberson
on 6 Jun 2020
That does not make sense unless it happened before the code you posted.
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!