Adding dummy zeroes in a matrix

8 visualizzazioni (ultimi 30 giorni)
Anand Anand
Anand Anand il 21 Mar 2011
I have several arrays of different lengths that need to combined into a single matrix of order n * n where n is the length of the longest array and dummy zeroes have to be added in those shorter arrays.For example,A=[1 2 3],B=[1 2 3 4] I want to combine A and B in a single matrix C =[1 2 3 0 1 2 3 4] .Note that a dummy zero has been added after 3 to make C a square.How do I achieve that?
  2 Commenti
Matt Tearle
Matt Tearle il 21 Mar 2011
Do you want the result to be an n-by-n matrix, or a 1-by-n*n vector? Your example shows C as a vector, but you say "square". Also, if you mean C = [1 2 3 0;1 2 3 4], that's 2-by-4, not 4-by-4. So, would you actually want C = [1 2 3 0;1 2 3 4;0 0 0 0;0 0 0 0]?
And, finally, how do you have the vectors? Do you have a whole pile of vectors "A", "B", "C", ... "Q" already? Or will they be generated (eg in a loop)? Is there any pattern to the names, or do you have to manually reference them?
Anand Anand
Anand Anand il 21 Mar 2011
Yeah ,you are right.It need not be a square matrix.I already have the pile of vectors and as such they are not named .I am refering to them as A,B,C and so on.As such,they are just numerous rows of numbers in a notepad

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 21 Mar 2011
n = max([numels(A), numels(B)]);
C = zeros(n,2);
C(1:numels(A),1) = A;
C(1:numels(B),2) = B;

Più risposte (0)

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by