# Expansion on my Devision of matrix by matrix Q?

1 view (last 30 days)
Scragmore on 21 Oct 2011
Can I expand on this,
x = [4; 8; 12; 16; 20];
y = [2 4];
Qa = bsxfun(@rdivide,x,y);
Returns Qa = [2 1; 4 2; 6 3; 8 4; 10 5]
Now if I
Qb = Qa*y;
I don't get four columns but an error. Is there a way to step through each column of 'Qa' and multiply by each entry in 'y'.
I am slowly building up a function with the above math. I have tried creating an output matrix were the series are in a different order.
Function_Matrix_out = [Qa.series1, x, Qa.series2];
again I return and error. Could you explain where I am going wrong.
Thanks,
##### 2 CommentsShowHide 1 older comment
Scragmore on 21 Oct 2011
Sorry don't know what the standard terms are. What I want is each column in QA, to be multiplied respectively by each figure in y, so you would get;
Qb = [4 8 2 4; 8 16 4 8; 12 24 6 12; 16 32 8 16; 20 40 10 20];

Walter Roberson on 21 Oct 2011
Well, you will have to define the order of the columns you want in the result, but
bsxfun(@times, kron(Qa,[1 1]), kron([1 1],y))
or (different column order)
bsxfun(@times, kron([1 1],Qa), kron(y,[1 1]))
Scragmore on 22 Oct 2011
Thanks again for pointing me in the right direction. I have had a quick play and I think I only need;
kron(Qa, y);