saving value in matfile

1 view (last 30 days)
Elysi Cochin
Elysi Cochin on 8 Mar 2013
i did some calculation and got a variable 'binr' with 1 row and many column values( more than 800)....
i wanted to save it in a matfile in a format, so that i can contain values only upto 25 coulmns in one row.... so i wrote the code as
binr = reshape(binr,25,[]).';
but if binr is not divisible by 25 i'm getting error as
??? Error using ==> reshape
Product of known dimensions, 25, not divisible into total number of elements, 871.
Error in ==> Todel at 176
binr = reshape(binr,25,[]).';
What can i do to store the value of this variable in a matfile with only 25 columns even if the value in binr is not divisible by 25..... is it possible.... please do reply....
  2 Comments
Walter Roberson
Walter Roberson on 8 Mar 2013
Do you want to throw away the extras, or do you want to pad to make up a full line ?
Elysi Cochin
Elysi Cochin on 8 Mar 2013
dont throw away extras sir....
it should have minimum 25 rows 25 columns..... if more than that only 25 columns but any number of rows..... if less than 25 rows 25 columns add some pattern.....
is it possible to add a pattern like "0 0 1 1 0 0" or " 1 1 1 0 0" or some pattern....to fill the remaining rows and columns..... but how to do that sir.....
please do reply sir......

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 8 Mar 2013
fillpat = repmat([0 0 1 1], 1, 6]);
binr = reshape( [binr, fillpat(1 : mod(-length(binr),25))], 25, []) .';
  2 Comments
Elysi Cochin
Elysi Cochin on 8 Mar 2013
sir what if i want minimum of 25 rows and 25 columns..... how to satisfy that condition also....
Walter Roberson
Walter Roberson on 8 Mar 2013
binr( end+1 : 25, :) = repmat( [fillpat, 0], max(0, 25 - size(binr,1)), 1);

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!