MATLAB Programming Contest Winner Announced 224
gooru writes "The MATLAB programming contest winner has been announced. It is a semi-annual programming contest organized by the MathWorks. What makes the contest truly interesting is the final phase is open source. Contestants may submit as many entries as they want and can tweak other entries."
MORTAL MATLAB (Score:4, Funny)
Comment removed (Score:5, Informative)
Re:contests... octave.. (Score:2, Informative)
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
Comment removed (Score:4, Informative)
Re: (Score:2)
Re:contests... octave.. (Score:2)
I don't really know that I'd push this (Score:2, Insightful)
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
Matlab doesn't measure up (Score:2)
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
Re:Matlab doesn't measure up (Score:3, Interesting)
None the less, we don't see Octave or Numerical Pytho
Re:Matlab doesn't measure up (Score:2)
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
Re:Matlab doesn't measure up (Score:3, Interesting)
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
Re:Matlab doesn't measure up (Score:2)
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
Re:contests... octave.. (Score:2)
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
Re:contests... octave.. (Score:2)
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.
Re: (Score:3, Informative)
Re: (Score:3, Interesting)
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
Re:contests... octave.. (Score:2)
Almost all of matlab toolboxes are written in matlab -- you can read and modify them as you need.
I love octave, and use it extensivly, but Matlab is technically far superior, both in functionality and performance (most of the time), though octave tends to have cleaner/more flexible interfaces to the functio
Re:contests... octave.. (Score:5, Informative)
1) You can choose any editor you want to write your matlab code. You just need to run it in octave. Since octave has a command line interpreter, you can show the result with any editor that can display the results of a run command (emacs will do this, too)
2) Yeah...it has readline, but that's about it.
3) Poster asked, besides being free...this is part of the price.
4) Not true. Any code not written in C, which is a good many of the numerical algorithms Matlab includes, have available source so that you can integrate the algorithms into any finished products (Matlab is for prototyping).
Other than that, you're asking for more than is really needed to extend the functionality.
5) Octave has a code repository. If they like what you write they use it. In other words, you can contribute to Octave.
6) Your fault/FUD. It took me about ten minutes.
7) I didn't have to. More FUD? Obviously this isn't a universal procedure.
8) I've never looked at my License file. I never track what it's doing. This has never been an issue.
9) See issue #3
10) Is this even a reason?
11) See issue #4
12) Obviously you don't have very good reasons. I will present some good reasons after we get through this.
13) This is true of Matlab as well. Try typing "ls" in Matlab and see what happens.
14) See issue #3
Having said all that, let me tell you why you should be using Octave.
The biggest reason is the free as beer thing. Matlab+ all packages needed is astronomically expensive. It's a big deal. We're not talking Microsoft-who-sells-to-consumers expensive - we're talking big-contractors-who-work-for-Engineering-firms expensive. It's kind of like the difference in price between Oracle and Postgres.
However, SOMETIMES it's worth it. As an Engineering student, I've tried and used regularly Matlab's image toolbox, Matlab's neural net toolbox, and their symbolic toolbox, and compared it to the normal canned algorithms.
Matlab is very, very good. They put an extra polish on every algorithm they write. In general, they're better written, and produce more clever results than anything else. Keep in mind that I was dealing with underconstrained problems, so the issues where matters of estimation. Matlab got more accuracy or faster convergence out of it's canned algorithms than you'd get if you wrote them straight from the descriptions supplied by the algorithm's authors.
Having said that, it's quite likely that there are certain areas that Octave will probably eventually fall behind. Symbolic work is one, I think, since their symbolic toolbox is actually an interface to Maple's symbolic engine, which they rent.
Maple doesn't have the manpower to compete with the OSS people writing computer algebra systems. IMHO, right now it's about tied. Three years ago Maple was ahead.
Erratta (Score:2)
About half the time (cases 1 and 5, and in the fact that Matlab may be falling behind Octave in the use of a symbolic engined) that I said Octave I meant Matlab.
Obviously in my mind they're very interchangable.
Re:contests... octave.. (Score:2, Interesting)
Octave uses GiNaC [ginac.de] for its symbolic stuff. Currently, part of why Octave's symbolics aren't better, is not that the library doesn't do it, but that the "glue" hasn't been written.
What are you waiting for? :)
Re:contests... octave.. (Score:3, Interesting)
You've obviously never deployed nor administered a site license for MATLAB. Talk about a ROYAL PITA. Your time will come.
Re:contests... octave.. (Score:2, Informative)
in matlab, octave allows you to write it as:
All in all, I feel that octave has evolved more into improving the basic language itself, while matlab has put most effort into gimmicks such as GUI-building and (poor/slow) OO-support.
Re: (Score:2)
Re: (Score:2)
Be Wary of Conclusions about Programming Contests (Score:4, Interesting)
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.
Re:Be Wary of Conclusions about Programming Contes (Score:2)
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.
Re:Don't blame me (Score:2)
My team made 11th in the ACM contest; my teammates choked, or we would have probably made top 5 at least (this from a no-name American university).
http://icpc.baylor.edu/icpc/Finals/Standings.html [baylor.edu]
Peking University? That can't be right. What ACM contest and year are you referring to (I'm not trying to be a bitch, I'm honestly curious). Wisconsin in '02 is the only American university I can find in 11th place, but Wisconsin is hardly a no-name in computing (historical trivia for those who don't kno
TLL280 in 13 seconds? (Score:3, Interesting)
I'm beginning to wonder if this was rather some sort of PR effort rather than a true programming challenge.
I Always Write my MATLAB Open Source (Score:4, Interesting)
Re: (Score:2)
Re:I Always Write my MATLAB Open Source (Score:2)
However, Octave's MATLAB history is limiting it anyway. Why not write for Scientific Python? That is the real open source alternative to MATLAB, with a big user community and many features that MATLAB lacks.
why not create something more enduring? (Score:2)
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
Re:why not create something more enduring? (Score:2)
Re:why not create something more enduring? (Score:2)
Re:why not create something more enduring? (Score:2)
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
Re:why not create something more enduring? (Score:2)
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
Re:why not create something more enduring? (Score:2)
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
Re:why not create something more enduring? (Score:2)
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
Re:why not create something more enduring? (Score:2)
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,
Re:why not create something more enduring? (Score:2)
The Problem (Score:5, Informative)
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.
Re:The Problem (Score:3, Funny)
Re:The Problem (Score:2)
Also, if you are working with scientists, rather than computer "scientists" availability of Matlab programmers far exceeds java programmers.
Re:The Problem (Score:2)
I would assign this as a first-year Scheme assignment.
YMMV
Rarboy
familiar contest with ants . . . (Score:3, Informative)
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.
Re:familiar contest with ants . . . (Score:2)
When did Matlab become commercial? (Score:4, Interesting)
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?
Re:When did Matlab become commercial? (Score:2)
Re:When did Matlab become commercial? (Score:2)
I *knew* you were going to say that. Good thing I don't have a 5.25" drive anymore.
Re:When did Matlab become commercial? (Score:2)
Re: (Score:2)
Re:When did Matlab become commercial? (Score:4, Informative)
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
Re:When did Matlab become commercial? (Score:2)
more alternatives to matlab (Score:2, Insightful)
Re:more alternatives to matlab (Score:2)
Re:more alternatives to matlab (Score:2)
MATLAB serial key cracker (Score:4, Funny)
It have a user friendly gui and everything, so I had hoped it had a chance.
yeah... 'cause their own code sucks... (Score:2)
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
Re:yeah... 'cause their own code sucks... (Score:2)
If there *are* single letter vars in your library, you REPLACE them with something else. It is easy to do, and QC should ALWAYS catch crap like that.
You should not have faith in the quality of matlab code. If you ever built something expensive based on an unverified simulation that was given by MATLAB you would be fired. I did not have one profes
Re:Down with MATLAB (Score:5, Informative)
Re:Down with MATLAB (Score:3, Informative)
Basically, I like numpy because it's Python, and I like Python. More generally, I like having a general-purpose programming language wh
Re:Down with MATLAB (Score:2)
the upside of numpy is that its python, so you have the whole python foundation to work with... custom GUIs, database connections, web services, whatever you want, its there, its free, and its relatively easy to write new C modules if you need them.
however things get kind of scattered when you try to do a big project. you will find out that what you need is module X, which is part of some bigger project, e.g. scipy, python-scientific, pysparse, etc etc (there ar
Re:Down with MATLAB (Score:2)
[shrug] This hasn't been my experience at all, but rather quite the opposite -- that I'm done with my programs and having a beer while the MATLAB users are still struggling and cursing. Believe me, I'm not averse to paying for a product that's worth the money (e.g., Mathematica for symbolic work) but it is my considered opinion, aft
Re:Down with MATLAB (Score:2)
Re:Down with MATLAB (Score:2)
My main problem with Matlab alternatives was the centuries needed updating systems and compiling and downloading and compiling some more until you have something that works but still does not work as well as Matlab. But this was a while ago, and from your posts, things have changed a lot for the better.
State of the art of plotting with Python (Score:2, Informative)
No at all. matplotlib is the current leader with excellent high-level functions in both an object oriented API and a MATLAB-alike functional API. Figures are rendered on screen with an interactive pan-zoom viewer or to a variety of a variety of file formats (ps, png,
http://matplotlib.sourceforge.net/ [sourceforge.net]
If you only need to render to file then the quality of PyX's output
Comment removed (Score:4, Informative)
Try Sci-Lab (Score:5, Informative)
I use Sci-Lab regularly. With Sci-Lab, I have no need to dole out bucks for the commercial version: Matlab.
Re:Try Sci-Lab (Score:2)
In my experience, this tips the balance of available uses in favor of Octave.
Comment removed (Score:5, Informative)
Can't get engineers to use anything else (Score:4, Informative)
Matlab is the Visual Basic of numerical computing -- a hodge-podge of grafted-on features. Yes, it gets a job done, yes it promotes code reuse because of the extensive numerical and graphing libraries, but as a "teaching language" it is weak on important concepts, and it is proprietary as all anything, turning engineering colleges into trade schools for MathWorks. And once engineering students glom on to it, you cannot, just cannot get them to use anything else.
I don't care if they implement a numerical algorithm in C++ or if they implement a numerical algorithm in Java -- both of those languages are pretty much callable from anything else on a wide variety of platforms. Yeah, you can call into Matlab too, but is there a free runtime you can download like with Java? And any kind of numerical algorithm using looping instead of built-in vector operations is going to be dog slow, so it is useless for any "production" use (in an academic environment, production use is where you throw a problem at it that taxes the capacity of whatever generation computers you have -- otherwise it is a toy numerical problem where everything you can discover with it has already been done.)
Re:Can't get engineers to use anything else (Score:2)
Psilab [sourceforge.net] offers a much better programming environment than Matlab or its clones. The tradeoff, of course, is that Psilab's algorithm library comes nowhere near the scope of Matlab's.
Re:Can't get engineers to use anything else (Score:2)
But you really have to do a lot of work to find a lot of those algorithms for the other languages.
For example, what if you want to feed the output of a 3 level feedforward, backpropagating neural network into an optical flow algorithm with pyramids for better convergence - all this in order to test out quality of a new backpropagation function?
You can get these things for Java or Fortran? They're just "around" on
Re:Down with MATLAB (Score:5, Interesting)
Despite all of the people who complain about Matlab being unstable and using up resources, I've always found that running the command-line version of Matlab is fast and stable. The GUI version has some nice features, but they usually aren't essential to the work that I do.
Re:Down with MATLAB (Score:2)
Re:Down with MATLAB (Score:2)
Re:Down with MATLAB (Score:2)
I'm not really too keen on Matlab. It's symbolic capabilities are too weak for my needs and I find it easier to prototype numerical things (as well as visualise the final data) in IDL.
Re:Down with MATLAB (Score:2)
Re:open source? (Score:2)
Are you guys really that zealous about what OSS code is? It's a simple programming contest, not a web browser.
Re:open source? (Score:2)
That's part of the monkeywork of programming, isn't it, taking implementations from one environment and implementing them in another?
not a troll -- MW is more evil than M$ (Score:5, Interesting)
Matlab costs about $3500... but at my work, somehow it costs $70,000 a year because of some weird ass licensing scheme matlworks sticks large government labs with. I've tired to convince my project that for that money it makes more sense just to hire programmers to add whatever features we need to octave and go tell mathworks to fuck themselves.
Oh, and by the way... all of that money is still not enough to get you bug reports noticed. For that you need to pay for some sort of premiere program.
Re:not a troll -- MW is more evil than M$ (Score:4, Interesting)
One day a business man came along and convinced the creator to leave academia in order to exploit his open source creation by closing the source and selling it to existing users.
Ten years later, Mathworks is a semi-monopoly in numeric computing in academia.
Re:not a troll -- MW is more evil than M$ (Score:2, Interesting)
Re:not a troll -- MW is more evil than M$ (Score:2)
Even if I've never personally bought a MATLAB license by myself.
Re:not a troll -- MW is more evil than M$ (Score:2)
No way (Score:2)
Hell, Octave still can't do decent 3D plotting.
Netlab instead ? (Score:3, Informative)
Several people in the class have speculated how much work it would require to port NetLab to Octave, but AFAIK nobody's actually taken a look. I downloaded it to
Interesting! (Score:3, Interesting)
That's an interesting package. I'll guess that it isn't as full-featured as the Matlab version, and in fact seems to have a somewhat different focus. I'd almost
Re:not a troll -- MW is more evil than M$ (Score:3, Insightful)
*ADD FEATURES* to Octave. Which already has much of the basics. Not rewrite MATLAB.
Which, really, on a lab-by-lab basis (in that one lab generally will use only 'n' features) you probably COULD rewrite all the code you needed with one or two full time developers.
In 3 years of aerospace engineering classes, I used maybe 10 'special' functions of MATLAB; 4 of which were the ODE related. The rest was 'just math'.
Re:open source? (Score:2)
Re:Does one of the entries... (Score:3, Informative)
Or do you mean address the first element with 0? Who cares if you start with zero, get used to it and move on.
If you use Matlab in a Unix enviornment ^c works.
Re:Does one of the entries... (Score:2)
Re:Just how bad is MATLAB? (Score:5, Insightful)
Re:Just how bad is MATLAB? (Score:2)
*Kidding! Joke! No offense! I do hate MATLAB with a passion, but you are also right.
Re:Just how bad is MATLAB? (Score:2)
Re:Just how bad is MATLAB? (Score:2)
Anecdotal evidence: I work in remote sensing, mostly image proc
Still sitting on the Python fence (Score:2)
I never really got interested in Matlab as my main development environment for numerical work for a variety of reasons -- some historical, some technical, some commercial, and some personal prejudice. But given that Math Works has the engineering/science academic market sewn up, given that students and faculty are hooked on it, I have found another use for it.
People talk abou