# how to solve array dimension for matrix multiplication issue?

10 views (last 30 days)
Anak Agung Adhi Dermawan on 9 Aug 2022
Dear matlab expert, I have 2 variables which 1 has 366 x 1 and the other one has 348 x 1 matrix dimension, I want to multiply these 2 variables but I got an error because incompatible array sizes for this operation. how can I fix this?
##### 2 CommentsShow 1 older commentHide 1 older comment
Anak Agung Adhi Dermawan on 9 Aug 2022
366 x 1

Abderrahim. B on 9 Aug 2022
Edited: Abderrahim. B on 9 Aug 2022
Hi !
Yes, multiplication of two arrays with incompatible sizes will throw an error !
A possible solution is to pad (zero pad is the common method) the array that has smaller size.
Demo:
vec1 = randi(10, 366, 1) ;
vec2 = randi(10, 348, 1) ;
vec2 =[vec2 ; zeros((length(vec1) - length(vec2)), 1)] ;
size(vec1)
ans = 1×2
366 1
size(vec2)
ans = 1×2
366 1
% Multiplication
vec = vec1*transpose(vec2) ;
size(vec)
ans = 1×2
366 366
% Element wise multiplication
vec = vec1.*vec2 ;
size(vec)
ans = 1×2
366 1
There is an in-build function in MATLAB called pad that you can also use.
Hope this helps
Anak Agung Adhi Dermawan on 9 Aug 2022
thank you sir

### Categories

Find more on LMI Solvers in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!