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 vue (au cours des 30 derniers jours)
The file has number of elements want to use only first 1000 elements???? Help me... Thanx in advance..

Réponses (1)

dpb
dpb le 5 Oct 2013
Modifié(e) : dpb le 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 commentaires
Deepika
Deepika le 5 Oct 2013
Ok.. Image Analyst .. I am sending the mat-file...
dpb
dpb le 5 Oct 2013
Modifié(e) : dpb le 5 Oct 2013
Don't send; attach it here.
But, can resolve the problem w/o the actual file -- see ERRATUM: posted above that accounts for actual length of the file instead of presuming the request was reasonable/possible.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by