help-octave
[Top][All Lists]

## Re: Meaning of * (mtimes) for nd-arrays

 From: Juan Pablo Carbajal Subject: Re: Meaning of * (mtimes) for nd-arrays Date: Mon, 15 Feb 2016 14:01:55 +0100

On Mon, Feb 15, 2016 at 10:53 AM, Marco Atzeri wrote:
On 15/02/2016 10:41, Marco Caliari wrote:
Dear all,

I recently discovered that [1;2;3;4]*ones(1,1,3), for instance, gives a
four-by-three matrix. I would have expected an error (like in Matlab) or
a four-by-one-by-three array. So, what is the definition? Is it just
squeeze("outer product")? Is it documented? A similar thing happens with
kron.

Thanks,

Marco

_______________________________________________
Help-octave mailing list
https://lists.gnu.org/mailman/listinfo/help-octave

[1;2;3;4] * ones(1,1,3) is the same as [1;2;3;4] * ones(1,3) and is not boradcasting. It is simply applying the rule of multiplication in matrices by ignoring the leading singletons. I think matlab would do the same, can you verify?

Boradcasting would be produce the same as

bsxfun(@mtimes,[1;2;3;4],ones(1,1,3))

which is shortened in Octave (and not in matlab) with

[1;2;3;4] .* ones(1,1,3)