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

10 views (last 30 days)
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.

Accepted Answer

Shivam Gothi
Shivam Gothi on 19 Oct 2024
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)

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!