Building matrix using vectors?Easy question.
Afficher commentaires plus anciens
P{1}, P{2}...P{n} are my vectors.
And I want P{1} is first row of my matrix.P{2} second row of my matrix. How can I do this?
Réponse acceptée
Plus de réponses (2)
Jos (10584)
le 19 Juil 2013
Modifié(e) : Jos (10584)
le 19 Juil 2013
Your question suggests you have a cell array with vectors, so you can/should make use of comma-separated list expansion. If all vectors are of the same length, take a look at CAT
P = {1:3,11:13,21:23} % row vectors
M = cat(1,P{:})
If they have different lengths, you might be interested in PADCAT, which pads the vectors with NaNs
P = {[1:3].' , [11:15],' , [21:24],'} % column vectors
M = padcat(P{:}) ;
heybatollah jokar
le 19 Juil 2013
*assume you have n vectors with same length which stored in P as follows: P={[vector 1],[vector 2],[vector 3],...}
now using simple code:*
for i=1:length(P)
A(i,:)=P{i}
end
as an example %================================
clc clear all P={[1 2 3],[4,5,6],[7 8 9]}; for i=1:length(P)
A(i,:)=P{i};
end
disp(A) %==============================
% result:
1 2 3
4 5 6
7 8 9
1 commentaire
Jos (10584)
le 19 Juil 2013
why use a for-loop if you have CAT ... (see the answer above for an example)
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!