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

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!

 Akzeptierte Antwort

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

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 18 Aug. 2012

0 Stimmen

That is a subset of the output of kron(x,y)

2 Kommentare

Thanks, Walter. I noted that, but do you know how to extract this subset?
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.)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Numerical Integration and Differential Equations finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by