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

7 views (last 30 days)

Show older comments

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

##### 8 Comments

Guillaume
on 27 Jan 2020

Edited: Guillaume
on 27 Jan 2020

Before blindly trying things without understand what the implications are, please explain why you want to store several somethings that have size 142x1 into something that is size 6x6? Shouldn't the container be big enough to store the containee?

What are you planning to do afterward with C_m ? Yes, you could make C_m a cell array, but you won't be able to perform mathematical operations on the cell array itself, only on individual cells.

### Accepted Answer

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}

##### 10 Comments

Guillaume
on 3 Feb 2020

### More Answers (1)

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]

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!