On Monday, August 8, 2011, Sergei Steshenko <address@hidden> wrote: > Hello, > > here is a screen session: > > " > >
> octave:1> foo{1,1} = "a" > foo = > { > [1,1] = a > } > octave:2> foo{1,2} = "b" > foo = > { > [1,1] = a > [1,2] = b > } > octave:3> foo{2,1} = [1 2]
> foo = > { > [1,1] = a > [2,1] = > > 1 2 > > [1,2] = b > [2,2] = [](0x0) > } > octave:4> foo_cs = foo{:} > foo_cs = a > octave:5> sizeof(foo{:})
> error: Invalid call to sizeof. Correct usage is: > > -- Built-in Function: sizeof (VAL) > > > Additional help for built-in functions and operators is > available in the on-line version of the manual. Use the command
> `doc <topic>' to search the manual index. > > Help and information about Octave is also available on the WWW > at http://www.octave.org and via the address@hidden
> mailing list. > octave:5> sizeof(foo_cs) > ans = 1 > octave:6> sizeof(1 + 2) > ans = 8 > octave:7> sizeof(foo) > ans = 18 > octave:8> > ". >
> Questions: > > 1) why is it so that 'foo_cs' shows just one element (and its 'sizeof' is > indeer 1 - see above) : As John tried to explain two times Foo{:} is not an objet, but comma separated list of objects.
size(foo{:}) is like size(foo{1},foo{2}, ...,foo(end)) that is wrong. To have the size of an object try size([foo{:}])
> " > octave:4> foo_cs = foo{:} > foo_cs = a > "
> ? > > 2) why "sizeof(foo{:})" refuses to work while "sizeof(1 + 2)" and > "sizeof(foo)" work ? I think "foo{:}" occupies some bytes in memory, so > 'sizeof' taking it as its argument should make sense.
> > Thanks, > Sergei. > _______________________________________________ > Help-octave mailing list > address@hidden > https://mailman.cae.wisc.edu/listinfo/help-octave
>