How to do repeated random sample from a matrix

6 views (last 30 days)
Hi, I am trying to figure out a problem. Suppose I have two matrices,one is parameter matrix B, which is 10,000*11.I obtain B from MVN simulation by 10,000 times. Elements from any row of B is denoted as b0(constant), b1, b2, b3, ...b11. Another matrix is X, an 11*10,000 matrix,The row is the number of observations, and the column is the number of variables. Elements of any column from X is denoted as x1 x2 ...x11.Now I need to randomly select one row from B and one column from X,respectively and then obtain y1= b0+b1*x1+b2*x2+...b11*x11. I need to repeat this process for 10,000 times so that I will obtain a column of 10,000*1 Y(=y1 y2 y3 ...y10,000). Please give me some ideas for this. Thanks!

Accepted Answer

Star Strider
Star Strider on 9 May 2016
Edited: Star Strider on 9 May 2016
It seems to me that you are doing simple matrix multiplication, then summing across the columns:
Y = sum(B*X,2);
  2 Comments
Tommy Tang
Tommy Tang on 9 May 2016
Yes. I will need to do multiplication. But the difficult part is how to simultaneously select row and column from two matrices and then multiply for 10,000 times.
Star Strider
Star Strider on 9 May 2016
The approach I described does all of the multiplications at once. The original product matrix is (10000 x 10000), so to get your (10000 x 1) vector, I add across the columns. I thought that is what you want to do.

Sign in to comment.

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!