Adding dummy zeroes in a matrix
5 views (last 30 days)
Show older comments
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 Comments
Matt Tearle
on 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?
Accepted Answer
Walter Roberson
on 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;
More Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!