how to reshape a matrix using for loop
Ältere Kommentare anzeigen
so i have this matrix called A that is 4772 X 1 in size and i want to reshape it in a "dummy matrix" with dimensions Rows (214) by Columns (223) but in a specific way.
The first value i want to place it is int the bottom-left corner , (last row, first column) and then use a for loops to continue iterate along the columns, in the last row , Once the last column is reached, pivot up one row then this process repeats.
so far i have this but im not doing it correctly.. can anyone help me?!
if true
% code
end
A= rand(4772,1);
dummy= zeros(214,223);
[m,n]=size(dummy);
if true
% code
end
count = 1;
for i= n:-1:1
for j =1:1:m
dummy(m,n) = A(count);
count = count + 1;
end
end
dummy

Antworten (1)
James Tursa
am 5 Apr. 2018
Bearbeitet: James Tursa
am 5 Apr. 2018
Try switching the m and n in your for-loop indexing, and use (i,j) for your indexed assignment instead of (m,n). E.g.,
for i= m:-1:1
for j =1:1:n
dummy(i,j) = A(count);
Btw, there is an easy way to do this without for-loops, but I assume you were instructed to use for-loops for this.
1 Kommentar
Tony Garcia
am 6 Apr. 2018
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!