8 views (last 30 days)

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

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}

Guillaume
on 3 Feb 2020

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]

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

Start Hunting!
## 8 Comments

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789832

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789832

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789842

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789842

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789843

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789843

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789869

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_789869

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790088

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790088

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790493

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790493

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790502

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790502

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790532

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/501915-how-do-i-add-a-column-vector-or-matrix-to-a-6x6-original-matrix#comment_790532

Sign in to comment.