MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Rica on 12 Dec 2012

hi! i usid bsx function to generate fro a vector a matrix by ading a random number. my problem: this function add to the whole vector a random number, but i want to add or substract to each number of the vector a random number. how could i manipulate this statement to generate the matrix?

MM is aknown vector M=bsxfun(@plus,MM,10*sign(randn([1 1],27,20)).*rand([1 6],27,20))

thank you

*No products are associated with this question.*

Answer by José-Luis on 12 Dec 2012

Edited by José-Luis on 12 Dec 2012

You could still use bsxfun, but instead of creating a vector of random numbers, if I understood correctly, you might need to create a matrix of random numbers to add it to the vector. Say MM is a column vector of size *m1* and the random matrix is of size *m1 x n1*

m = 10; n = 25;

MM = randi(m,10,1); M = bsxfun(@plus,MM,randn(m,n));

## 1 Comment

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/56372#comment_116688

Can you explain?