How can I subtracting the members of a 3D Matrix ?

1 view (last 30 days)
mr mo
mr mo on 4 Dec 2016
Edited: mr mo on 8 Dec 2016
Hello every one. I have a 3D matrix of size
every member of this matrix is a random number between 1 to 5 like
from
I want to subtract each members of matrix A from the 9 overlaying members of it.
but my question is how can i do this procedure for the members that have 4, 5 or 6 overlaying members.
for example member of index (i,j,k)=(1,1,2) that has only 4 overlaying members in z=1 and this code is not useful in this situation because this code working in cases that there are only 9 overlaying members.
In fact for
(i,j,k)=(:,1,2)
and
(i,j,k)=(:,end,2)
and
(i,j,k)=(1,:,2)
and
(i,j,k)=(end,:,2)
in all pages from z=2 to z=10 this code is not useful and I am very confused because these members have 4 or 6 overlaying members . with best regards.

Answers (1)

Image Analyst
Image Analyst on 5 Dec 2016
Use convn() with the proper kernel. But I'm not really sure what you mean by overlaying members and what's going on with the z=1 plane.
  4 Comments
mr mo
mr mo on 5 Dec 2016
Hi again. if you can get me your Email address then I can email you some pictures that clearly explain what I'm gonna do. With Best Regards.
Guillaume
Guillaume on 5 Dec 2016
Best, is to attach these image in the post rather than emailing them to one single person. That way you can get other people input as well.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!