Hello,
I have cell array where is 2000 matrix 4000x100. I would like to subtract each cell in matrix: A(i,j)-B(i,j+1). It is possible to use diff function for this operation? I have tried to do it, but I get same errors.
Y=arrayfun(@{diff(1,1,2)},A)
I would be grateful for any information you can provide.
Best regards

2 Comments

What is A? What is B ? How are they related to your cell array?
It would help if you gave us a small example of the input/s and the expected output arrays.
example of cell array:
rys_1.png
I would like to do substract two cell in matrix: 21.9018(i,j)-20.7261(i,j+1)
example.png

Sign in to comment.

 Accepted Answer

Stephen23
Stephen23 on 2 Jul 2019
Edited: Stephen23 on 2 Jul 2019
Given one cell array A, this seems to matche your example:
F = @(m)-diff(m,1,2);
Y = cellfun(F,A,'uni',0)

3 Comments

Thank you very much for your answer. Coul you tell me why I get same error when I have run this code? I get a masege:
>> F = @(m)-diff(m,1,2 );
>> Y = arrayfun(F,G,'uni',0)
Undefined function 'diff' for input arguments of type 'cell'.
Error in @(m)-diff(m,1,2)
I would be grateful for any information you can provide.
Stephen23
Stephen23 on 2 Jul 2019
Edited: Stephen23 on 2 Jul 2019
@Michal Oktawiec : sorry, I used arrayfun but it should have been cellfun. I corrected the answer.
Thank you very much for your help!

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!