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

8 次查看(过去 30 天)
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.

采纳的回答

Shivam Gothi
Shivam Gothi 2024-10-19
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 !

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by