help-octave
[Top][All Lists]

## Re: late Re: A Simple Matrix Construction Question

 From: David Bateman Subject: Re: late Re: A Simple Matrix Construction Question Date: Wed, 5 Feb 2003 08:12:22 -0600 User-agent: Mutt/1.3.28i

```According to address@hidden <address@hidden> (on 02/05/03):
> Sorry about the delay, but I think my answer worths it:
> If you pretend to do the following:
>
>         A_mxn = B_mxc .* C_cxn
>
> and C is a 1xn row/column vector, you can do this
>
>         A_mxn = B_mxc * diag(C_1xn)
>
>
>         A_mxn = B_mxc .* C_1xn(1:c,1)

I'm not sure I understand this since you haven't

>
> It's the solution to a problem I had some days ago.
> > There is probably a really simple way to do the
> > following, but I'm suffering from a mental block.
> >
> > I have a row array 'Y' of arbitrary length, 1xn.
> >
> > I want to create an mxn matrix where all of the rows
> > are the same as 'Y'.
> >
> > Of course, I want to do this without resorting to
> > loops.

If this is what you want to do, why not do for example

m = 4;
n = 5;
y = rand(1,n);
x = y(ones(m,1),:);

where x will now be a m by n matrix with m copies of y,
one per row. Indexing should definitively be more
computationally efficient than doing a matrix multiply
which is O(n^3).

Regards
David

--
Motorola CRM                                 +33 1 69 35 25 00 (Ph)
Espace Technologique, Commune de St Aubin    +33 1 69 35 25 01 (Fax)
91193 Gif-Sur-Yvette FRANCE

The information contained in this communication has been classified as:

[ ] Motorola Internal Use Only
[ ] Motorola Confidential Proprietary

-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

```