I have a mat-file of 1-by-500001 matrix. I want to create a 1000-by-1000 matrix from it. How to do this?
1 view (last 30 days)
Show older comments
The file has number of elements want to use only first 1000 elements???? Help me... Thanx in advance..
0 Comments
Answers (1)
dpb
on 5 Oct 2013
Edited: dpb
on 5 Oct 2013
Do you want the first 1000 elements or a 1k X 1k array as the title says? They're not commensurate.
Either way; pick the N that you want and then reshape
Say it's a 1K by 1K...
x=load('yourmatfile');
N=1000; % set the size desired for generality
x=reshape(x(1:N*N),N,N); % keep the N^2 first and reshape to square..
ADDENDUM:
x=load('yourmatfile');
N=1000; % set the size desired for generality
N=min(N,sqrt(length(x)); % modify to make fit if length(x)<N^2
x=reshape(x(1:N*N),N,N); % keep the N^2 first and reshape to square..
That'll fix the overrun error as also noted elsewhere but gets the solution into the Answers section...
7 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!