octave-maintainers
[Top][All Lists]
Advanced

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

Re: Interesting plot behavior


From: Robert T. Short
Subject: Re: Interesting plot behavior
Date: Thu, 16 Apr 2009 10:21:39 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.21) Gecko/20090402 SeaMonkey/1.1.16

I agree about the importance of compatibility. I often have to deliver code to clients that needs to run under MATLAB, and it is much nicer if I don't have to make structural changes before delivery. However, as Daniel said

> This isn't so. Matlab's syntax is a subset of Octave. There are a lot of things that pass in Octave (e.g., "endfunction") that Matlab doesn't understand.

i.e. octave is NOT compatible with MATLAB, and it always takes some work to get from octave to MATLAB and vice-versa. With care, the work is small, but there is work. All the the little things like "endxxx" (which I don't use) and the different flavors of comments (which I *do* use) are easily done with an awk script or some such, but plotting has always been the Achilles heel in the compatibility process. Furthermore, Daniel's statement is only half correct. There are a lot of things that MATLAB has that don't exist in octave - my particular issue is the whole OOP facility, but MATLAB has a nice little facility for creating GUIs for data entry, etc.

Of course the plotting facilities have made enormous strides (even though I really liked the old gplot stuff) and octave continues to improve on a daily basis, but I don't think slavish compatibility is really desirable.

The question is really then, what does compatibility mean? As any professional project manager will tell you, a clear statement of goals and objectives is critical to eventual success. It would probably worth making a clear and concise statement of what we mean by "compatibility with MATLAB" as part of the project's overall goals.

On the other hand, I just wanted to point out a strange bit of behavior in case someone felt it needed attention and think I understand that things basically are the way they are for a reason. Time to move forward!

Thanks for the comments and the insight.

Bob
--
Robert T. Short
PhaseLocked Systems


David Bateman wrote:
Robert T. Short wrote:
So do we have to do it the same as Mathworks? This topic has come up a few times since I have been on this list - what, exactly, does compatibility mean?
Compatibility to me means I can share my code with others and expect it to work exactly the same way if these others happen to use matlab. Also and perhaps more importantly we the octave community can use the vast store of user generated matlab code out there and expect it to work correctly in Octave. So yes I personally consider that compatibility is important.

I got around this just fine, so I don't figure this is a bug, just thought it was kind of goofy. BTW, MATLAB scatter plots are horribly slow too (not as bad as this), but I never found a good way around it. Also, I have an old version of MATLAB, so I could be all wet.
I presume that matlab is horrible slow for the same reason. In fact if it wasn't for the fact that all of the patches can have different colors we could keep compatibility and basically combine all of the patches into a single gnuplot plot command as your workaround basically does. I suppose we could special case this case, but the __go_draw_axes__ function is already incredibly complex..

D.



Thanks for the response.






reply via email to

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