[A,v] shows error: dimensions of arrays being concatenated are not consistent

Hi everyone, I'm having a little problem. I tried to create a matrix using an already existing one and a vector just by putting it next to the matrix. I expected a new matrix made by the original plus a last new line of zeros and a new column made up by the vector I added. I remember it worked in Matlab2023b, but now it shows me this error
A=[1,2; 3,4]
A = 2×2
1 2 3 4
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
v=[1;9;9]
v = 3×1
1 9 9
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
A=[A,v];
Error using horzcat
Dimensions of arrays being concatenated are not consistent.

1 Comment

What exact size do you expect A to have? What values do you expect A to contain?

Sign in to comment.

 Accepted Answer

Hello @Lucia,
I tried to execute the above code in MATLAB R2023b version, but it gave the same error message.
You are trying to horizontally concatenate two matrices. Therefore, the number of rows of Matrices to be concatenated should be same. Here, the number of rows of "A" matrix should be equal to the number of rows of "V" matrix.
In your case, "A" has 2 rows and "V" has 3 rows. Therefore, you cannont concatenate them. refer the below documentation to get more information about matrix concatenation:
Instead, you can do:
A=zeros(3,2); %preallocate the A matrix
A(1:2,1:2)=[1,2 ;3,4]
A = 3×2
1 2 3 4 0 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
v=[1;9;9]
v = 3×1
1 9 9
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
A=[A,v]
A = 3×3
1 2 1 3 4 9 0 0 9
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
The above code will also give the desired output.
I hope it helps !

More Answers (0)

Categories

Products

Release

R2024b

Asked:

on 19 Oct 2024

Commented:

on 19 Oct 2024

Community Treasure Hunt

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

Start Hunting!