# Octave's and Matlab's limitations

44 messages
123
Open this post in threaded view
|

## Octave's and Matlab's limitations

Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On 21 Nov 2012, at 17:07, Jordi Gutiérrez Hermoso wrote: > R is a language that was originally for statisticians, so it is > *marvelous* at handling data, and not just the matrix data that a > numerical analyst likes (Matlab originally was for numerical analysis, > not for data manipulation). Being a numerical analyst I may be biased ;) But indeed, Matlab's language is designed to be as close as possible to the everyday notation used in numerical analysis and scientific computing. Actually Matlab's language has even influenced mathematical notation to some degree, it is not uncommon to see the colon notation for indexing in mathematical papers. It might be just an interpreted wrapper around numerical libraries but that's exactly what many of its intended users need. And it is not even that bad to very closely mimic fortran syntax, actually many of my colleagues still use fortran (even fortran 77 is still used a lot) > I am kinda frustrated how one of Matlab's and Octave's primary use > cases is to draw graphs from data without actually doing any > significant computations on that data. I learned Octave to do > interesting numerical computations such as solving hyperbolic PDEs or > figuring out cantilever problems with FEM, not to produce plots that > would look good on publications. If you just want to grab your data > and create plots for journals, particularly if you're a scientist who > wants to state that your p-value is significant, R is far better > suited for this task. If you just want to draw plots, gnuplot isn't that bad either. c. _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On 11/21/2012 10:25 AM, c. wrote: > > On 21 Nov 2012, at 17:07, Jordi Gutiérrez Hermoso wrote: > >> R is a language that was originally for statisticians, so it is >> *marvelous* at handling data, and not just the matrix data that a >> numerical analyst likes (Matlab originally was for numerical analysis, >> not for data manipulation). > > Being a numerical analyst I may be biased ;) > But indeed, Matlab's language is designed to be as close as possible to the everyday > notation used in numerical analysis and scientific computing. Actually Matlab's > language has even influenced mathematical notation to some degree, it is not uncommon > to see the colon notation for indexing in mathematical papers. It might be just an interpreted > wrapper around numerical libraries but that's exactly what many of its intended > users need. And it is not even that bad to very closely mimic fortran syntax, > actually many of my colleagues still use fortran (even fortran 77 is still used a lot) That is all true, but in many cases the data has to come from somewhere. When it comes from other applications, it comes in files in various formats, and that's when you start hating Jordi's #3 and 4 (and also #1 and 9). And as I said before, when some poor shmuck is handled a bunch of matlab 7.3 scripts that don't even run in 2011b and is told to run that from a web form, #0, 5, and 6 make sure that isn't doable. -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu_______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave signature.asc (262 bytes) Download Attachment
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On 21 Nov 2012, at 18:38, Dimitri Maziuk wrote: > That is all true, but in many cases the data has to come from somewhere. > When it comes from other applications, it comes in files in various > formats, and that's when you start hating Jordi's #3 and 4 (and also #1 > and 9). Indeed, so just use some other tool for doing the conversion to and from formats that Octave likes, rather than trying to use Octave's (limited) data structures for tasks they are not meant to accomplish. Think of Octave as  essentially being able to deal with arrays of numbers and little more [*]. > And as I said before, when some poor shmuck is handled a bunch of matlab > 7.3 scripts that don't even run in 2011b and is told to run that from a > web form, #0, 5, and 6 make sure that isn't doable. Possibly true, but my point was that, although he does have my sympathy, Matlab does not market to that "poor shmuck" ... Matlab has become a de-facto standard by providing an environment where it is easy to implement complex numerical algortihms without much knowledge of complex data structures. This ease of use did come at a cost but, on the other hand, it has facilitated the implementation of a huge amount of clever and useful programs written by people who would not have taken the effort to do so in a different language. As I see it, Octave's purpose is to make available a similarly convenient number crunching environment to those users that are not willing to trade Freedom for ease of use, so it might deviate from Matlab's syntax now and then but I don't think it would make sense to try and tronsform it into a general purpose. c. P.S. On a side note, as you seem to like Python but have to deal with other people's code written in Octave, have you ever considered using Pytave ? [*] That is of course an over-simplification but if you keep low expectations you sure will never be disappointed ;) _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 In reply to this post by c.-2 Neither MATLAB or Octave are meant for general purpose; I agree with the general consensus and what Jordi said before that basically, "use the right tool for the right job". It looks like some people expect to be able to do everything through one language, and that just isn't practical. On Wed, Nov 21, 2012 at 10:48 AM, c. wrote: On 21 Nov 2012, at 18:38, Dimitri Maziuk wrote: > That is all true, but in many cases the data has to come from somewhere. > When it comes from other applications, it comes in files in various > formats, and that's when you start hating Jordi's #3 and 4 (and also #1 > and 9). Indeed, so just use some other tool for doing the conversion to and from formats that Octave likes, rather than trying to use Octave's (limited) data structures for tasks they are not meant to accomplish. Think of Octave as  essentially being able to deal with arrays of numbers and little more [*]. > And as I said before, when some poor shmuck is handled a bunch of matlab > 7.3 scripts that don't even run in 2011b and is told to run that from a > web form, #0, 5, and 6 make sure that isn't doable. Possibly true, but my point was that, although he does have my sympathy, Matlab does not market to that "poor shmuck" ... Matlab has become a de-facto standard by providing an environment where it is easy to implement complex numerical algortihms without much knowledge of complex data structures. This ease of use did come at a cost but, on the other hand, it has facilitated the implementation of a huge amount of clever and useful programs written by people who would not have taken the effort to do so in a different language. As I see it, Octave's purpose is to make available a similarly convenient number crunching environment to those users that are not willing to trade Freedom for ease of use, so it might deviate from Matlab's syntax now and then but I don't think it would make sense to try and tronsform it into a general purpose. c. P.S. On a side note, as you seem to like Python but have to deal with other people's code written in Octave, have you ever considered using Pytave ? [*] That is of course an over-simplification but if you keep low expectations you sure will never be disappointed ;) _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 El Dimecres, 21 de novembre de 2012, a les 11:23:28, Jake va escriure: > Neither MATLAB or Octave are meant for general purpose; I agree with the > general consensus and what Jordi said before that basically, "use the right > tool for the right job". It looks like some people expect to be able to do > everything through one language, and that just isn't practical. > > On Wed, Nov 21, 2012 at 10:48 AM, c. <[hidden email]> wrote: > > On 21 Nov 2012, at 18:38, Dimitri Maziuk wrote: > > > That is all true, but in many cases the data has to come from somewhere. > > > When it comes from other applications, it comes in files in various > > > formats, and that's when you start hating Jordi's #3 and 4 (and also #1 > > > and 9). > > > > Indeed, so just use some other tool for doing the conversion to and from > > formats that Octave likes, rather than trying to use Octave's (limited) > > data structures for tasks they are not meant to accomplish. > > Think of Octave as  essentially being able to deal with arrays of numbers > > and little more [*]. > > > > > And as I said before, when some poor shmuck is handled a bunch of matlab > > > 7.3 scripts that don't even run in 2011b and is told to run that from a > > > web form, #0, 5, and 6 make sure that isn't doable. > > > > Possibly true, but my point was that, although he does have my sympathy, > > Matlab does not market to that "poor shmuck" ... > > > > Matlab has become a de-facto standard by providing an environment where it > > is easy to implement complex numerical algortihms without much knowledge > > of > > complex data structures. This ease of use did come at a cost but, on the > > other > > hand, it has facilitated the implementation of a huge amount of clever and > > useful programs written by people who would not have taken the effort to > > do > > so in a different language. > > > > As I see it, Octave's purpose is to make available a similarly convenient > > number > > crunching environment to those users that are not willing to trade Freedom > > for ease > > of use, so it might deviate from Matlab's syntax now and then but I don't > > think > > it would make sense to try and tronsform it into a general purpose. > > > > c. > > > > P.S. On a side note, as you seem to like Python but have to deal with > > other people's > > code written in Octave, have you ever considered using Pytave < > > https://launchpad.net/pytave> ? > > > > > > [*] That is of course an over-simplification but if you keep low > > expectations you sure will > > never be disappointed ;) > > > > > > > > > > _______________________________________________ > > Help-octave mailing list > > [hidden email] > > https://mailman.cae.wisc.edu/listinfo/help-octaveMaybe not, but it's also true that one (avg user) doesn't want to use 10 optimal languages to do each of the 10 parts of something complex, and may be just satisfied with a flexible near optimal 1 language that is capable of doing everything...   _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 In reply to this post by Jordi Gutiérrez Hermoso-2 >But, for the purpose of full disclosure, here are the things that >peeve me off the most about this language: [...] >These are just off the top of my head, but ten is a good, round >number, so I'll stop there. I could go on. Matlab is a horrible, >*horrible* general-purpose programming language Well, the fact is, Matlab is not a general-purpose language :) >and I'm appalled that people use it to build web servers and GUI >applications and who knows what other atrocities they build with it. Why ever worrying about that?  I suppose you already know that someone has written a Tetris game in Sed. >And to be fair, fine, Matlab and Octave are ok for array-based >numerical computations, but people rarely used them for only that. Well, that's their problem... >I am kinda frustrated how one of Matlab's and Octave's primary use >cases is to draw graphs from data without actually doing any >significant computations on that data. I often use the epsTk toolkit at www.epstk.de, which is good for producing high-quality plots.  But for quick or simple plots Octave is good enough. >And even if you *do* want to do numerical analysis, we're having new >contenders like the Julia language which are already being better >designed from the ground up, much better than Matlab ever was, by >people who actually design programming languages professionally. That was said for every language after Fortran, yet very few (or none) have really died. -- Francesco Potortì (ricercatore)        Voice:  +39.050.315.3058 (op.2111) ISTI - Area della ricerca CNR          Mobile: +39.348.8283.107 via G. Moruzzi 1, I-56124 Pisa         Skype:  wnlabisti (entrance 20, 1st floor, room C71)     Web:    http://fly.isti.cnr.it_______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On Wed, Nov 21, 2012 at 2:38 PM, Francesco Potortì wrote: >But, for the purpose of full disclosure, here are the things that >peeve me off the most about this language: [...] >And even if you *do* want to do numerical analysis, we're having new >contenders like the Julia language which are already being better >designed from the ground up, much better than Matlab ever was, by >people who actually design programming languages professionally. That was said for every language after Fortran, yet very few (or none) have really died.one of my favorites:http://xkcd.com/927/usable beats perfect. _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On Wed, Nov 21, 2012 at 9:19 PM, Nicholas Jankowski <[hidden email]> wrote: > On Wed, Nov 21, 2012 at 2:38 PM, Francesco Potortì <[hidden email]> > wrote: >> >> >But, for the purpose of full disclosure, here are the things that >> >peeve me off the most about this language: >> [...] >> > > >> >And even if you *do* want to do numerical analysis, we're having new >> >contenders like the Julia language which are already being better >> >designed from the ground up, much better than Matlab ever was, by >> >people who actually design programming languages professionally. >> >> That was said for every language after Fortran, yet very few (or none) >> have really died. > > If Matlab were legally downloadable for free I think it would eat up the market. As it stands, frankly I would advise anyone who can afford to pay for Matlab to just use Matlab, the benefits of strong platform integration on each platform, GUI builders and tons of documented toolboxes are very real. I like Octave because it is free and has a spare design, but let's face it not everyone wants to be an abstemious digital monk. Edmund _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 In reply to this post by Jake-3 see inline: On Wed, Nov 21, 2012 at 4:23 PM, Jake <[hidden email]> wrote: > Neither MATLAB or Octave are meant for general purpose; I agree with the > general consensus and what Jordi said before that basically, "use the right > tool for the right job". It looks like some people expect to be able to do > everything through one language, and that just isn't practical. Well, that might be true, in principle, but learning many dofferent programming languages isn't really practical, either! Especially not for non-programmers. Therefor people tend to try to do everything in one language, and as a parctical choice, that is very reasonable. I for one have a tendency to mix languages, use more than one at the same time, my work in each of them becomes less efficient! Kjetil > > > On Wed, Nov 21, 2012 at 10:48 AM, c. <[hidden email]> wrote: >> >> >> On 21 Nov 2012, at 18:38, Dimitri Maziuk wrote: >> >> > That is all true, but in many cases the data has to come from somewhere. >> > When it comes from other applications, it comes in files in various >> > formats, and that's when you start hating Jordi's #3 and 4 (and also #1 >> > and 9). >> >> Indeed, so just use some other tool for doing the conversion to and from >> formats that Octave likes, rather than trying to use Octave's (limited) >> data structures for tasks they are not meant to accomplish. >> Think of Octave as  essentially being able to deal with arrays of numbers >> and little more [*]. >> >> > And as I said before, when some poor shmuck is handled a bunch of matlab >> > 7.3 scripts that don't even run in 2011b and is told to run that from a >> > web form, #0, 5, and 6 make sure that isn't doable. >> >> Possibly true, but my point was that, although he does have my sympathy, >> Matlab does not market to that "poor shmuck" ... >> >> Matlab has become a de-facto standard by providing an environment where it >> is easy to implement complex numerical algortihms without much knowledge >> of >> complex data structures. This ease of use did come at a cost but, on the >> other >> hand, it has facilitated the implementation of a huge amount of clever and >> useful programs written by people who would not have taken the effort to >> do >> so in a different language. >> >> As I see it, Octave's purpose is to make available a similarly convenient >> number >> crunching environment to those users that are not willing to trade Freedom >> for ease >> of use, so it might deviate from Matlab's syntax now and then but I don't >> think >> it would make sense to try and tronsform it into a general purpose. >> >> c. >> >> P.S. On a side note, as you seem to like Python but have to deal with >> other people's >> code written in Octave, have you ever considered using Pytave >> ? >> >> >> [*] That is of course an over-simplification but if you keep low >> expectations you sure will >> never be disappointed ;) >> >> >> >> >> >> _______________________________________________ >> Help-octave mailing list >> [hidden email] >> https://mailman.cae.wisc.edu/listinfo/help-octave> > > > _______________________________________________ > Help-octave mailing list > [hidden email] > https://mailman.cae.wisc.edu/listinfo/help-octave> -- "If you want a picture of the future - imagine a boot stamping on the human face - forever." George Orwell (1984) _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 In reply to this post by edmund ronald On 21 November 2012 15:27, edmund ronald <[hidden email]> wrote: > I like Octave because it is free and has a > spare design, but let's face it not everyone wants to be an abstemious > digital monk. We are trying to make Octave less for digital monks, but it's hard work. - Jordi G. H. _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 I didn't read *all* of the chain of emails before this little discussion started, so I'm not keen on the base purpose here. My comment at this point would be that if someone finds MATLAB or Octave limiting to their needs (and they don't want to use another language), then the only solution is to help themselves and others by writing code to make the software less limiting, e.g. if someone doesn't like string processing, then make some string processing functions to meet your needs. On Wed, Nov 21, 2012 at 12:35 PM, Jordi Gutiérrez Hermoso wrote: On 21 November 2012 15:27, edmund ronald <[hidden email]> wrote: > I like Octave because it is free and has a > spare design, but let's face it not everyone wants to be an abstemious > digital monk. We are trying to make Octave less for digital monks, but it's hard work. - Jordi G. H. _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 In reply to this post by c.-2 On 11/21/2012 12:48 PM, c. wrote: ... use matlab for matrices ... It's all fine but how often and how well do you document matrices in your matlab scripts? You can't use "other tools" to convert data to load()'able format if nobody knows what that format is supposed to be. > P.S. On a side note, as you seem to like Python but have to deal with other people's > code written in Octave, have you ever considered using Pytave ? I don't particularly like python, but it's more readable than perl, more powerful than shell, and comes without Oracle lawyers who might show up tomorrow and demand you pay up for the privilege. It's kinda what basic used to be: not that great but easy, available, and better than the alternatives. Unfortunately, I don't have to deal with code written in octave: if that were the case, I'd just run it. I have to deal with the "clever and useful" code written in matlab 7.3. -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu_______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave signature.asc (262 bytes) Download Attachment
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On 21 Nov 2012, at 22:04, Dimitri Maziuk wrote: > It's all fine but how often and how well do you document matrices in > your matlab scripts? You can't use "other tools" to convert data to > load()'able format if nobody knows what that format is supposed to be. sorry, I don't think I get the meaning of this sentence, are you asking for matlab file format specification? > I don't particularly like python, but it's more readable than perl, more > powerful than shell, and comes without Oracle lawyers who might show up > tomorrow and demand you pay up for the privilege. It's kinda what basic > used to be: not that great but easy, available, and better than the > alternatives. so, it'd be really nice if you would give Pytave a try, it should allow you to run Octave functions from within Octave. If you do try it, I'd be really interested in knowing your impressions. c. _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On 21 November 2012 17:22, Dimitri Maziuk <[hidden email]> wrote: > I don't quite see the point: you can always run actual octave in a > popen() call, the advantage of "pytave.eval( 'matlab code' )" over > "os.popen( ['octave', '--eval', 'matlab code'] )" is lost on me -- if > that's what they're trying to do: there seems to be zero documentation > on the site, so who knows. The actual benefit to Pytave is that it translates Octave data types into Numpy datatypes. If you just did Popen, you'd have to parse the text output that you get from Octave, but Pytave already does this and does it without pipes or parsing. I like Pytave. I think I'll try to improve its packaging and get it packaged for Debian and RHEL. - Jordi G. H. _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 On 11/21/2012 04:35 PM, Jordi Gutiérrez Hermoso wrote: > The actual benefit to Pytave is that it translates Octave data types > into Numpy datatypes. If you just did Popen, you'd have to parse the > text output that you get from Octave, but Pytave already does this and > does it without pipes or parsing. Ah, that makes sense. They should probably spell it out on the webpage because it's not obvious from the "features" sentence. Or at least wasn't obvious to me. -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu_______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave signature.asc (262 bytes) Download Attachment
Open this post in threaded view
|

## Re: Octave's and Matlab's limitations

 In reply to this post by c.-2 ----- Original Message ----- > From: c. <[hidden email]> > To: Dimitri Maziuk <[hidden email]> > Cc: [hidden email] > Sent: Wednesday, November 21, 2012 8:48 PM > Subject: Re: Octave's and Matlab's limitations > > [snip] > > Matlab has become a de-facto standard by providing an environment where it > is easy to implement complex numerical algortihms without much knowledge of > complex data structures. This ease of use did come at a cost but, on the other > hand, it has facilitated the implementation of a huge amount of clever and > useful programs written by people who would not have taken the effort to do > so in a different language. > [snip > c. > The code is smart, the language is idiotic. Writing in a more normal language the same code would be much easier. I.e. I completely disagree with "who would not have taken the effort to do so in a different language". Again, I am using Octave just because of packages, and I had to upgrade to newer Octave versions with the accompanying suffering (I was quite happy with 3.0.5) because the packages started demanding it. Hadn't it been for packages, I wouldn't have used Octave at all. My Perl + "C" combination covers practically all my needs; from curiosity and understanding of benefits of functional paradigm I would like to add OCaml to my toolbox. Regards,   Sergei. _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave