matlab - How can I divide columns of a matrix by elements of a vector, element-wise? -


given matrix , vector

a = [ 1 2; 2 4 ]; v = [ 2 4 ]; 

how can divide each column of matrix respective element of vector? following matrix should be

[ 1/2 2/4; 2/2 4/4 ] 

basically want apply column-wise operation, operands each column stored in separate vector.

you should use combination of rdivide , bsxfun:

a = [ 1 2; 2 4 ]; v = [ 2 4 ]; b = bsxfun(@rdivide, a, v); 

rdivide takes care of per element division, while bsxfun makes sure dimensions add up. can achieve same result like

b = ./ repmat(v, size(a,1), 1) 

however, using repmat results in increased memory usage, why bsxfun solution preferable.


Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

Rendering JButton to get the JCheckBox behavior in a JTable by using images does not update my table -