MATLAB Answers

RESIZE 3-D MATRIX

20 views (last 30 days)
Julia Linderfalk
Julia Linderfalk on 13 Mar 2020
Commented: Guillaume on 17 Mar 2020
I have imported data as a matrix called A with a size
447 x 370 x 331
How do I RESIZE the matrix to 120 x 100 x 85?
Thanks,
Amanda & Julia

  3 Comments

Sriram Tadavarty
Sriram Tadavarty on 13 Mar 2020
May i know if you actually wanted a subset of actual matrix. Since there is a huge difference in the data you have, and you wanted.
Julia Linderfalk
Julia Linderfalk on 17 Mar 2020
I don't want a subset of the actual matrix. I want to use all the elements in the matrix but in some way make it smaller, maybe by using the average of some elements? :)
Guillaume
Guillaume on 17 Mar 2020
" I want to use all the elements in the matrix but in some way make it smaller, maybe by using the average of some elements?"
We can't really make the decision for you as to how to make it smaller, particularly as we have no idea what your matrix represents. If your matrix represents samples on a grid you could indeed resample to a coarser grid using an interpolation such as nearest, linear, cubic, or more complex method.
If you don't really know what you want, then perhaps you need to clarify to yourself what it is you're trying to do first.

Sign in to comment.

Answers (1)

Gaurav Garg
Gaurav Garg on 16 Mar 2020
Hi,
In your case, the original matrix has a total of 54,744,090 (447*370*331) elements, while the resultant matrix has 1,020,000 elements. So, using reshapefunction will give you an error since you cannot change the number of elements of the array. One thing, you could do is to change one of the dimensions to [], which would itself compute that dimension.
However, one thing to be noted is that the product of 2 dimensions should be divisible by the total number of elements (54,744,090).

  0 Comments

Sign in to comment.


Translated by