help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: indexing in octfile


From: David Bateman
Subject: Re: indexing in octfile
Date: Tue, 08 Feb 2005 16:40:07 +0100
User-agent: Mozilla Thunderbird 0.8 (X11/20040923)

Brian Blais wrote:

Hello,

I have a question about doing indexing in an oct file.

If the following cc code:

  Matrix m = args(0).matrix_value();
  idx_vector idx(Range (3,6));
  Matrix ret = (Matrix) m.index (idx, 0);

is equivalent to the following octave code:

  ret=m(3:6);

what is the equivalent cc code for:

m(3:6)=5

or

m(3:6)=6:8;

or

m(3:6)=m(3:6)+6:8;

The equivalent to index is "assign" which you'll find in ov-base-mat.cc. However, I don't see a case where you should use such an example. Better to write a generic function and do the indexing/assignment exterior to the function eg

DEFUN_DLD(myfun, args, , " ")
{
  NDArray m = args(0).array_value();
  double d = args(1).double_value();
   int nel = m.numel();
   for (int i = 0; i < nel; i++)
      m(i) += d + i;
  return m;
}

and then do

m(3:6) = myfun(m(3:6),6);

This is much cleaner


D.



--
David Bateman                                address@hidden
Motorola Labs - Paris +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE

The information contained in this communication has been classified as: [x] General Business Information [ ] 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
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]