Forgot your password?
typodupeerror
This discussion has been archived. No new comments can be posted.

MATLAB Programming Contest Winner Announced

Comments Filter:
  • by Anonymous Coward on Saturday May 21, 2005 @10:04PM (#12602601)
    The next contest should be to the death. Execute those who fail it. There can only be one. Then we'll see some real open source programming.
  • contests... octave.. (Score:5, Informative)

    by deego (587575) on Saturday May 21, 2005 @10:09PM (#12602625)
    Contests are a great and relatively cheap way for companies to attract attention.

    While your attention is drawn to the non-free matlab, may I also point out Octave, the open source alternative freely (libre, beer) available on your machines.

    On debian, apt-get search octav to see octave and extensions. Don't forget to install the additions octave-forge, etc. to get near-complete matlab equivalence. In some ways, it exceeds matlab, in some ways, it doesn't. And it is very compatible with matlab.
    • On debian, apt-get search octav to see octave and extensions. Don't forget to install the additions octave-forge, etc. to get near-complete matlab equivalence. In some ways, it exceeds matlab, in some ways, it doesn't. And it is very compatible with matlab.

      Octave has also been ported to MacOS X, and is available via Fink.

      I agree, I have found octave *very* compatible; in my Quantum Mechanics class, we have frequent Matlab assignments, and I am able to cut/paste code directly between the systems, with
    • Not libre, but also check out MuPAD. I use it quite often in addition to Octave when I tutor. MuPad and Octave do 100% of the mathematics required for Calc 1-3 and with some work, did everything I needed for other analysis courses. I can't speak to Matlab since I'm not a user, but the free alternatives, at least on the beginning calculus levels, are as easy to use as Mathematica. The graphical output is not as refined, but with Gnuplot and some (shameless plug) resourcefullness [digitalhermit.com] can do much of the same thing
    • Octave doesn't even come close to measuring up to Matlab. I mean don't get me wrong, it's a neat program and it's powerful, but it's not playing in the same league as Matlab.

      So why not push it? Well one of the things I know that drives many people away form open source is the feeling that the solutions is offers are half assed. That when you choose an OSS version, sure you get it for free (if you don't need support) but it's going to suck. You'll have to make a bunch of compramises and not be able to do th
      • Octave doesn't even come close to measuring up to Matlab.

        Depends on what you mean by "measure up". The stuff that makes Matlab useful is all the libraries and tools created by third parties. Matlab itself is a lousy programming language and a lousy implementation. Octave doesn't have all those third party packages, which makes it more limited.

        So why not push [Octave]?

        Because Matlab itself is broken; there is no point in pushing the clone of a bad system to an illogical extreme (although that doesn't
        • Well guess what? I'm going to have to say you probably are wrong. I personally don't use Matlab but I support those that do in an educational setting. Our department makes extensive use of Matlab, we use it for instruciton, we use it for research. Now research groups espically are always money hungry. They always want more than they have so they try to save as they can. We have many who use Linux rather than Solaris to save on hardware and software fees.

          None the less, we don't see Octave or Numerical Pytho
          • Our department makes extensive use of Matlab, we use it for instruciton, we use it for research. Now research groups espically are always money hungry. They always want more than they have so they try to save as they can. We have many who use Linux rather than Solaris to save on hardware and software fees.

            Matlabs for educational institutions costs virtually nothing.

            If you could offer something that's superior, free, and customizable, well the'd be jumping over in droves.

            No, they wouldn't, because they
          • by L7_ (645377)
            Its the same argument that people give that still use Fortran. Most (scientific) departments have professors that make extensive use of Fortran for research and in thier instruction.

            Its what the instructors learned originally and it 'can get the job done', but it is not neccesarily the best solution in whatever terms that you measure success. Professors use it because that is what they know. People don't jump all over new technologies because the original learning curve even if is 'superior, free and custo
            • There is hope -- it'll just take time and new blood to make inroads.

              I once worked for a scientific computing center (lots of Matlab users, too). I maintained a old Sun box with a few statistical apps. One of the biggies in the stats area is S-PLUS.

              S-PLUS is just as entrenched as Matlab is in its respective cirlces. You either use it or your work won't be taken seriously -- typical academic bigotry.

              However, a new user came on board. I don't know if he was a Ph.D. candidate or a professor, but he

    • may I also point out Octave, the open source alternative

      octave is not even nearly at the level Matlab is... nothing is. it is quite annoying that they have such a dominant product and noone has an alternative. its still pretty damn good though.

      maths packages are something which OSS are just years behind unfortunately. matlab is the only real option for numerical stuff and mathematica the only real option for symbolic (maple is for classrooms, not the workplace).

      on the numerics front, you are right t

      • matlab is the only real option for numerical stuff

        Actually, it isn't a real option for numerical stuff, unless you mean playing around/prototyping. For production-quality industrial numerical work, you have to write it yourself. I've had a number of consulting jobs where my task was simply to efficiently duplicate some matlab code in C/C++/Fortran..with the end result that it runs _hundreds_ of times faster, and can be modified/enhanced without relying on Matlab's proprietary toolboxes.

  • by reporter (666905) on Saturday May 21, 2005 @10:10PM (#12602631) Homepage
    Invariably, in contests of this nature, people are apt to draw specious conclusions from the results of the contest. In a recent programming contest involving teams of students from across the globe, the American teams performed poorly. Professor Matloff then rebutted the cries for government intervention to increase the quality and quantity of computer-science students [com.com].

    Now, this Matlab contest is positioned to lead to the same silly cries. So, allow me to present a link to Professor Matloff's excellent article [com.com] to head off any silly speculations about the decline of American technical prowess.

    • Non-sequitor - why would anyone in their right mind draw any conclusions about American technical prowess from this story?

      As far as speculation goes, I'd say that using a Wiki method allowing competitors to change other entries is probably not the fairest way to run a contest, although it is interesting.
  • by Anonymous Coward on Saturday May 21, 2005 @10:13PM (#12602649)
    I guess for their speed programming award they are allowed to have prior source. If this wasn't the case, the author would have written it at 393 characters per second!

    I'm beginning to wonder if this was rather some sort of PR effort rather than a true programming challenge.
  • by schestowitz (843559) on Saturday May 21, 2005 @10:37PM (#12602744) Homepage Journal
    All my MATLAB code is Open Source. And I am the most popular author (jointly with Luigi Rosa) this month. http://www.mathworks.nl/matlabcentral/reports/file exchange/top10Authors/ [mathworks.nl]
    • Do you also post it to the octave-source mailing list? The list also has a newsgroup gateway through gmane.
    • I'm not sure why writing open source code for a platform that is so completely closed and hugely expensive is a badge of honor. It's like doing "volunteer labor" for poor starving Donald Trump. Right now, you may be getting MATLAB cheap as a student, but have you looked at the prices you have to pay for it in the real world?

      Furthermore, while MATLAB is a tolerable language for numerics, as a programming language, it is horrendous. I would not want to hire someone who spent most of his time programming i
      • I have used Octave and gnuplot on and off, and always had problems with the limited number of available functions. I have read here about the Sourceforge page and its many "toolboxes", and that seems very useful (i.e., I will start using it at home!). My old frustrations with using Octave started with installation / compilation problems, displaying the results in gnuplot, and exchanging code with my colleagues. The nicest features were the ease of use of Octave from any term, and some C-like things that Mat
        • Those are the same tired arguments we get from everybody defending an outdated proprietary system. If Matlab works for you because you know it, stick with it and pay the price, but that doesn't mean it's the right choice for everybody. In particular, it's almost certainly not the right choice for a 22 year old Ph.D. student.
          • Ah ha! Ok, a 22 y.o. needs to save all the money he can to buy beer. Beer, helas, is not free ;-)

            Returning to a serious tone, a PhD student should not care about paying for a software license, his Professor should. If Octave or Something Python is the tool you need, it is the tool that must be used - free or not. If it is Matlab, Mathematica or even Halo 2, you get a license for it. What I don't do is use a cracked version: if there is no budget for the best tool, get the best one that your money can affo
            • Returning to a serious tone, a PhD student should not care about paying for a software license, his Professor should.

              Paying for Matlab licenses is not a problem in an academic environment; Matlab is essentially free for students.

              The problems are that (1) the Matlab language is bad from an educational point of view (you don't want students learning about software through Matlab), (2) Matlab is unnecessarily domain specific--the coverage of its libraries is too narrowly focused for modern applications of n
              • Ok, now we do agree on most of the issues.

                My academic institution pays through the nose for its Matlab licenses. Probably we do make it "free" for student usage, but even the "academic" pricing of Matlab is a problem, when there are 36000 toolboxes...

                In EE it is a great tool to teach Communications, and Signal Processing. In CS, I would guess it is not the first choice. It's the MATrix LABoratory, not the MATrix LANGuage. I see it as an application that allows a lazy engineer to do matrix computations wit
                • In EE it is a great tool to teach Communications, and Signal Processing.

                  OK, but there are plenty of tools other than Matlab that are adequate for that purpose. Furthermore, communications and signal processing is becoming increasingly algorithmic.

                  In CS, I would guess it is not the first choice.

                  It's actually more of a problem for EE because they may not see a lot of other programming languages.

                  I see it as an application that allows a lazy engineer to do matrix computations without going into deep pr


      • 1. PhD students do not live in the real world, and therefore do not know what software costs in the real world.

        2. I have never met anybody that programmed in {Scientific,Numeric,Monty} Python, from which we can conclude that they were not hired. People that keep their skills simple, like Matlab and C, usually get hired.

        3. You have not left the university yet, how would you want to be re-using your code already? I did, and I don't want to re-use my code anyway. It want it to be re-used at the university,
      • Matlab is actually an excellent programming language. I am currently using Java after using Matlab for a few years, and it is just so frustratingly verbose and inflexible. I could have achieved in Matlab in a few weeks what has taken me a few months in Java. The reason you should hire someone who likes Matlab is that they are used to getting things done and will want a programming environment that lets them get things done. Java, on the other hand, looks a lot like work, and feels a lot like work, and is a
  • The Problem (Score:5, Informative)

    by HillaryWBush (882804) on Saturday May 21, 2005 @10:46PM (#12602783)
    Imagine a sandbox in which there are ants, sugar cubes, anthills, and rocks. Ants like sugar: collectively they want to bring as many sugar cubes as possible back to their anthills before sunset.

    For this contest, you will write the control program that each ant carries with it. Ants, being so small, have some limitations, of course. Each ant can carry no more than one sugar cube at a time. Further, each ant can only see her local vicinity. Your program, which is run sequentially for each ant, knows only what that ant knows. Thus you must bring about the best possible global outcome based only on local conditions. The ants don't have any memory as such, but they can leave behind a chemical trail to guide themselves and others across the sandbox landscape.

    Your score is determined by how much progress you make moving food towards and into the anthills. Ideally your ants will move all the sugar cubes onto anthills. Practically this may not be possible; do the best you can. You receive credit even by moving one sugar cube one step closer to an anthill.
    • by antdude (79039)
      When the contest winners are revealed, will I be able to see these math solutions without MATLAB program? I would love to see the results. I am not familiar with this program and I am an ant freak. :)
  • by bodrell (665409) on Saturday May 21, 2005 @10:47PM (#12602786) Journal
    I read in Scientific American not long ago about using the (software) ant strategy to find a solution to the traveling salesman problem, or something in that family of problems. I think it was lumped together with swarm technology, but I don't have the magazine with me, so I can't be more specific than that. I do know that DNA "computers" have been used to solve such combinatorial problems. This sugar cube problem is very similar--no exact solution, but you can converge on something close to exact.

    Anyway, you want to find the shortest route that goes through n number of cities. I know in one variation of the problem you can't hit the same city twice, but I don't know if that constraint applied in this case. The ants leave a "pheremone trail" which evaporates after a certain amount of time. If the ants start out randomly choosing routes, but over time the routes with more software pheremone are reinforced, because the ant objects choose those paths preferentially.

    • You are thinking about Ant Colony Optimization. Just google for it. You can solve the Traveling Salesman Problem with it approximately, and also a variation where you have a start and end city as a constraint. Many problems have similarities to these problems and can also be solved. A friend of mine has just implemented ACO for optimizing milling paths.

  • When I last used Matlab, we used it just for the matrix calculator and, IIRC, it was free. When did it become a commercial product? Did I miss something or was just not paying attention back then?
    • It was always a proprietary product, so either whoever supplied it to you (your school, perhaps) paid for it, was given copies by Mathworks, Inc., or pirated it.
    • > When I last used Matlab, we used it just for the matrix calculator and, IIRC, it was free. When did it become a commercial

      Matlab seems to have a policy of supplying very cheap or free copies for schools.. with the effect that generations of students grow up on the "free" matlab ( i certainly did). When they go out of school, they then realize how expensive it is (just the basic matlab). And each additional component (say, simulink circuits package) costs a pretty penny extra...
    • by Camel Pilot (78781) on Saturday May 21, 2005 @11:08PM (#12602858) Homepage Journal
      Yes you missed something. Matlab sells software subscriptions for around $2k per year and extra for application specific modules - I would call that commercial.

      They ticked me off last year when we late for our subscription payment and they charged us 20% for an adminstration fee which accounted for around $3500.

      This is why I read above about SciLab with interest. I would love to find a solution that meets our needs so can cancel our subscription and hopeful convince others where I work to convert.

      Mathworks has achieved a sort of monopolist position with certain engineering and scientific fields and behaves accordingly
  • Many have been pointing out alternatives to matlab, so strictly speaking this is 'redundant', but not all have been mentioned:
    • Octave [wikipedia.org]
    • numeric python [wikipedia.org]
    • R [wikipedia.org] (awesome statistical package also does matrix stuff well).
    • Perl Data Language [wikipedia.org], commonly used by astronomers, much like the rest of perl in that it's difficult to wrap ones head around but capable of extremely powerful (i.e. terse) code.
  • by julie-h (530222) on Sunday May 22, 2005 @05:02AM (#12603863) Homepage
    I submitted the algorithm that MathWorks uses for generating the MatLab serial key.

    It have a user friendly gui and everything, so I had hoped it had a chance.
  • Do we get rewarded for showing how crappy MATLABs code is?

    For instance, their use of the single letter global variable (g, I believe it was) in one (or more) of their ODE solvers?

    beh. MATLAB is like crack; as soon as you start using it you know you should take the time to find a *real* solution to your problems... but really, it is far easier to continue on down the path you are on...

    No offence meant to the uber geniuses who create the algorithms. But that wouldn't generally be the folks at MATLAB, and w

: is not an identifier

Working...