How to write a 'horizontal direct product' (*~) from Gauss in Matlab?

2 次查看(过去 30 天)
Hi,
I am trying to write the 'horizontal direct product' (*~) from Gauss in Matlab. Anyone can help me?
E.g. Horizontal direct product z = x*~y;
x = [1 2; 3 4]; y = [5 6; 7 8];
z = [5 6 10 12; 21 24 28 32]
NB. The input matrices x and y must have the same number of rows. The result will have cols( x) * cols( y) columns.
Thanks!

采纳的回答

Matt Fig
Matt Fig 2012-8-18
z = repmat(y,1,size(x,2)).*kron(x,ones(1,size(y,2)))

更多回答(2 个)

Walter Roberson
Walter Roberson 2012-8-18
That is a subset of the output of kron(x,y)
  2 个评论
Patrick
Patrick 2012-8-18
Thanks, Walter. I noted that, but do you know how to extract this subset?
Walter Roberson
Walter Roberson 2012-8-18
Row indexing, but I do not know what the general pattern is (I would need a few additional examples of different lengths to go on.)

请先登录,再进行评论。


Patrick
Patrick 2012-8-20
Thanks, Matt. That's perfect.

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by