MATLAB Answers

A question about product operation

4 views (last 30 days)
Dan P
Dan P on 16 Sep 2013
Hello all!
I'm not sure if this was explained before, but I could not find any answer to this.
So, if i have x=[a b c] and y=[d e f] I'd like to know (if it's possible) how I could obtain:
.
z=
h i j
k l m
n o p
where:
h=a*d k=a*e n=a*f
i=b*d l=b*e o=b*f
j=c*d m=c*e p=c*f
Thanks!

  0 Comments

Sign in to comment.

Accepted Answer

Jan
Jan on 16 Sep 2013
Edited: Jan on 16 Sep 2013
x = [1, 2, 3]
y = [10, 20, 30]
z = x' * y
The matrix multiplication of a column vector with a row vector replies the dyadic product. x*y' would reply the dot-product.
Slower alternative:
z = bsxfun(@times, x', y)

  6 Comments

Show 3 older comments
Jan
Jan on 17 Sep 2013
As described in the documentation, you can set the product block to "Matrix Mode". I've never worked with Simulink, but Google showed me this information after a few seconds of searching. Does it help already?
Sean de Wolski
Sean de Wolski on 17 Sep 2013
Of course you could also put this inside of a MATLAB function block.
Jan
Jan on 17 Sep 2013
Dan p wrote:
I also tried to use the blocks from the "User-defined functions" but I did not succeed.
Please show us, what you have tried and explain "did not succeed" with details.

Sign in to comment.

More Answers (1)

Simon
Simon on 16 Sep 2013
Edited: Simon on 16 Sep 2013
Hi!
x = [1, 2, 3]; % row vector
y = [2; 3; 4]; % column vector
z = y * x;

  0 Comments

Sign in to comment.

Sign in to answer this question.