How can I covert 10x10 matrix to a 10x10x1 matrix?

4 views (last 30 days)
I'm writing a matrix to an HDF5 file, I've created the file as a matrix sized 10x10x500.
I have a 10x10 matrix, and want to iteratively write out each 10x10 matrix to my HDF5 file, but h5write complains that my 10x10 matrix needs to be a 10x10xN sized matrix.
Is there a way to change a 10x10 matrix to a 10x10x1 so the dimensions match for writing with h5write? None of: reshape, permute, or cat work.
I could cache all 500 10x10 matrices in memory and write them out, but my real-life example is much bigger than 10x10x500. It'd be easier if I could do it iteratively.
  2 Comments
John D'Errico
John D'Errico on 20 May 2016
Edited: John D'Errico on 20 May 2016
A 10x10 matrix is ALREADY a 10x10x1 matrix. In fact, it is a 10x10x1x1x1x1x1x1... matrix. Those singleton dimensions go on to infinity.
A = rand(10,10);
size(A,3)
ans =
1
size(A,12)
ans =
1
Ok, infinity is a long walk.
per isakson
per isakson on 20 May 2016
Edited: per isakson on 20 May 2016
There is something is wrong with the way you call h5create and h5write - I guess.

Sign in to comment.

Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!