Generating A(i,j) = [i; j]
28 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, is there a clean way to generate a matrix A(i,j) = [i; j], especially without resorting to loops? Thank you so much!
1 Kommentar
Jonathan Epperl
am 4 Dez. 2012
No, that would not be a matrix, since you're assigning a vector to the element at (i,j). Do you want to create a 3-dim array, or a cell array, or a blockmatrix? Please modify your question accordingly.
Akzeptierte Antwort
Weitere Antworten (1)
Walter Roberson
am 4 Dez. 2012
Bearbeitet: Walter Roberson
am 4 Dez. 2012
No. Numeric matrices cannot store multiple items per location.
Cell arrays can store vectors in each location, but then A(i,j) would not be the vector [i;j] and would instead be the 1 x 1 cell array that contained within it the vector [i;j]
Perhaps you would like a 3D array instead.
[P, Q] = ndgrid(1:5, 1:7); %sample bounds
A = cat(3, P, Q);
You could convert to a cell array:
mat2cell(A, ones(1,size(A,1)), ones(1,size(A,2)), 2)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!