# How do I add a column vector or matrix to a 6X6 original matrix?

25 views (last 30 days)
M.Bilal on 25 Jan 2020
Commented: M.Bilal on 4 Feb 2020
I have a 6x6 matrix, say C_m, in which some entries are zero and all other entries are cloumn vector c11, c12 & c44 eg c11 = [a11,a12,a13...], c12 = [b11,b12,b13...], c13 = [d11,d12,d13...], c44 =[e11,e12,13...]. All column vectors are of the order of 142x1 matrix.
How do I define the column vectors in a 6x6 matrix (C_m), so that matlab recognizes it?
C_m = [c11 c12 c12 0 0 0
c12 c11 c12 0 0 0
c12 c12 c11 0 0 0
0 0 0 2*c44 0 0
0 0 0 0 2*c44 0
0 0 0 0 0 2*c44]
When i run the program, following problem occur? how do i solve this?
Error using horzcat
Dimensions of matrices being concatenated are not
consistent.
Error in bilal2 (line 287)
287 C_m = [c11 c12 c12 0 0 0
M.Bilal on 27 Jan 2020
Well, C_m is a stiffness matrix, in which c11,c12,c44 etc are stiffnesses.
c11, c12,c44 are column matrix , not a single value. I am planning to develop C_m matrix which contains c11,c12,c44.

Philippe Lebel on 27 Jan 2020
Edited: Philippe Lebel on 27 Jan 2020
here is an example:
clear all
zeros_col = zeros(142,1);
c11 = (1:142)';
fantastic_matrix = [c11 zeros_col zeros_col zeros_col zeros_col zeros_col;
zeros_col zeros_col zeros_col zeros_col zeros_col zeros_col;
zeros_col zeros_col zeros_col zeros_col zeros_col zeros_col;
zeros_col zeros_col zeros_col zeros_col zeros_col zeros_col;
zeros_col zeros_col zeros_col zeros_col zeros_col zeros_col;
zeros_col zeros_col zeros_col zeros_col zeros_col zeros_col]
That is if you want to have a matrix in order to compute some things with matrix multiplications.
If you want to just store things:
clear all
c11 = (1:142)';
fantastic_cell_array = {c11 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0}
M.Bilal on 4 Feb 2020
Right.so nice of you. Thanks for time.

Steven Lord on 27 Jan 2020
C_m = [c11 c12 c12 0 0 0
c12 c11 c12 0 0 0
c12 c12 c11 0 0 0
0 0 0 2*c44 0 0
0 0 0 0 2*c44 0
0 0 0 0 0 2*c44]
If all of the c* variables are 142-by-1 vectors, you need to concatenate them with zero vectors that are also 142-by-1. Consider a smaller example:
V = [1; 2; 3];
D1 = [V, 0] % Fails
D2 = [V, zeros(size(V))] % Works
If you want to concatenate together 0's and vectors, you may want to make a variable that contains a zero vector of the appropriate size to make the sizes match.
V = [1; 2; 3];
Z = zeros(size(V));
A = [V Z Z; Z V Z; Z Z V]
M.Bilal on 27 Jan 2020
Steven Lord, thankyou v.much for impressive answer. I am working on it.