help-octave
[Top][All Lists]
Advanced

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

RE: Arrays of structures question


From: Ted Harding
Subject: RE: Arrays of structures question
Date: Tue, 15 Jan 2002 08:22:45 -0000 (GMT)

On 15-Jan-02 Abe Taha wrote:
> I am new to octave and am having a slight problem running an old Matlab
> code. The offending lines are
> 
> for i=1:nBC
>       nodeNum = nodebcs(i).num;
> end;
> 
> where nodebcs is a vector of structs, each having num, x, and y as
> members. When I run the code, Octave prints out
> can't perform indexing operation for struct type

It looks as though any attempt to create an "array of structs"
ignores the indexing:

  octave:1> X(1).num = 1;
  octave:2> X(1).text="number 1"
  X.text = number 1
  octave:3> X(2).num=2;
  octave:4> X(2).text="number 2"
  X.text = number 2
  octave:5> whos

  *** local user variables:

  prot  type                       rows   cols  name
  ====  ====                       ====   ====  ====
   rwd  struct                        -      -  X

  octave:6> X
  X =
  {
    num = 2
    text = number 2
  }

Hence any subsequent attempt to refer to an indexed struct
will fail:

  octave:7> X(2)
  error: can't perform indexing operations for struct type

(and I guess Abe Taha's confusion arises from the fact that
there is no error message when the structure is created).

Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <address@hidden>
Fax-to-email: +44 (0)870 167 1972
Date: 15-Jan-02                                       Time: 08:22:45
------------------------------ XFMail ------------------------------



-------------------------------------------------------------
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]