help-octave
[Top][All Lists]

## Re: problem plotting "N-d object"

 From: CdeMills Subject: Re: problem plotting "N-d object" Date: Mon, 20 Feb 2012 00:39:33 -0800 (PST)

```Sergei Steshenko-2 wrote
>
>
>
> I have just replied Ben and you - the object is 1-d, no size reduction is
> necessary, the root cause/problem is that Octave wrongly considers the
> object to be N-d.
>
> Not dealing with the root cause is losing track IMO.
>
>
OK. I looked at the other side of the Force:
x=randn(3, 3, 5);
y = x(2, 3, :);
size(y)
ans =

1     1     5
isvector(y)
0
plot(y)
??? Error using ==> plot
Data may not have more than 2 dimensions

This is ML2011A. The consensus about Octave is to maintain a good amount of
compatibility between both, to ease transitions.

At this stage I agree that you're right on the ideas, but we should be
carefull to avoid a scenario as
1) B. Abbott implements plotting for N-D objects where N-1 dims are
singleton
2) people start using this new interface
3) The MathWorsk implement their own N-D plotting  in a incompatible way
with Ben's approach
4) Octave maintainers must once again change their interface without
breaking the "legacy " code written between steps two and three.

This is why I would be more in favor of a "squeezable" class. By only
x=squezable(randn(3, 3, 5));
y = x(2, 3, :);
size(y)
ans =
1 1 5
isvector(y)
1

This way, we follow your arguments that things with only one non-singleton
dimension are vectors, but without introducing changes with ML. And when ML
will implement a change in their 'plot' function, we may reflect his change,
and keep the code written around the squeezable class working.

Regards

Pascal

--
View this message in context:
http://octave.1599824.n4.nabble.com/problem-plotting-N-d-object-tp4397525p4403511.html
Sent from the Octave - General mailing list archive at Nabble.com.

```