MATLAB Survey for Mac OS X 48
gsfprez writes "It's fairly simple: MATLAB wants to know if a Mac OS X port would be worth their while or not. I tell you what, I know a few engineering R&D organizations who'd have to reverse their anti-Mac IT decisions solely based on the idea that MATLAB would be available for Mac OS X because there could finally be high power, yet affordable, Unix machines running it."
Re:Could someone confirm this survey's legitimacy? (Score:5, Informative)
http://osx.macnn.com/news.php?id=13863
Wonderful (Score:2, Insightful)
You can get Matlab for Linux - I run copies on RedHat - so the implication of the post that Matlab for Mac OS X would finally bring Matlab to Unix is a little strong.
I have not bothered to purchase the current Mac Matlab version because it is stabilized at version 5 and has not been updated. I have found no reason to pay many $$ to Matlab for an obsolete version. But, a letter this spring from Mathworks indicated that my individual license will be converted to looser wording. Under it the license holder can install Matlab on multiple CPUS, under mutiple OSes, as long as the license holder is using them serially. This enables me to get the current Mac Matlab at no cost to supplement the Linux version. Now, if they update it to Mac OS X, I'd be very happy.
Re:Wonderful (Score:2, Informative)
Re:Wonderful (Score:3, Informative)
Re:Wonderful (Score:2)
You can't really take a Sun Blade on the road with you. You can't run Powerpoint in Solaris (you can do it with SunPCi, but that is basically a PC?). You can run Powerpoint and Matlab on a PC laptop - but then there is always the Windows factor. The only option for someone who wants the stability of Unix and the flexibility in software would be OS X. You could take your presentations on the road with confidence. If you needed to come up with some last-minute changes or wanted to try something new out, you could do it on the spot.
Not only that, but if Matlab could be written to take advantage of Altivec, there is the possibility of significant performance gains (if not superiority over equivalent SPARC/Alpha chips).
Re:Wonderful (Score:2)
Only do so if you are willing to spend significant cash money buying licenses. Remember what happened to a certain Linux games company? [slashdot.org] Lots of people said they wanted games on Linux, but no-one wanted to pay for them, and stuffing ballot boxes did no-one any favors in the long run.
I haven't used MATLAB for years, but I have very fond memories of version 4 on AlphaStations.
Octave (Score:4, Informative)
Re:Octave (Score:2, Informative)
What we need is some good open source plotting libraries
Re:Octave (Score:2)
If you install Octave and plan to do any sort of Monte Carlo simulations, then the first thing you should do is install a faster random number generator. There's a few available from Sourceforge, so go there. This simple step sped up my simulations, by a factor of 2 (took 50% as long to run).
Re:Octave (Score:1)
Octave is not a true replacement for MATLAB (unfortunately). Octave has weaknesses in:
- Generating publication quality graphics
- Toolboxes
- NetCDF I/O
Unfortunately Matlab has weaknesses in
- Memory mamagement
- Working on Macs...
Still, despite the price (not free) and other issues, the real matlab wins.
Re:Octave (Score:1)
it hasnt been developed in a while i dont think.
I'm a Mech. Eng. student at Cornell, we use a lot of Matlab, and I use it around here all the time. octave does like 80% of the stuff Matlab is used for, and is less frustrating to work with (loads faster, and matlab behaves weird from time to time)
the thing is matlab has more functionality. As for performance, both Octave and Matlab are just fine for small/medium calculations, and neither can handle really big ones so it isnt much of an issue to me. Personally i think octave is nicer to script for (#!/usr/bin/octave -q). working in unix is much nicer and more flexible than windows (but at the cost of a steep learning curve, i guess)
anyhow, what makes me use matlab is simulink and the gui/zoomer that comes up when you make plots, and its ability to interface with DAQ boards...
perhaps if a more friendly plotter was added to octave it'd be pretty awesome. thats my two cents...
-pete
Re:Octave (Score:2)
I used Octave all semester for my neural networks class and did fine. Of course, when it came time to write my semester project, I chose to do it in Perl with PDL (Perl Data Language). My professor's response was, "There's no accounting for taste." :)
Oh, and I did all this on a blueberry ibook with Debian Linux.
Math S/W (Score:2, Interesting)
I did like te console-ish interface of it, but it couldn't do everything you could do graphically, which is why I spent so much time with the poorly documented dialogs (unless it was an incomplete installation, but then not everything was left without help files).
Anyway, another math prof was always talking about running these theoretical experiments on Maple, and suggested that we might need it for a class (didn't turn out to need it, thank God). I searched around and found that it (maple) had quite the vehement dislikers, who, incidentally, suggested free alternatives. It's been more than a semester since that, so I don't remember what they were. Anybody know of any free/open progs that can do the same thing... and maybe a tad more productively?
Re:Math S/W (Score:2, Interesting)
Python + Numeric + {Dislin/PyChart/...} do a decent job, much faster and much more flexibly.
Octave supposedly gives Matlab compatibility (never used it myself).
Matlab is more than 20 years old now, and showing it's age and Fortran ancestry (has been showing for at least 10 years). It's good at manipulating 2D matrices and applying some functions to them, but everything else is horribly slow, inefficient and unpleasant. Most of the reason it still dominates its market is that this is what people study with in the university, and later on, no one remembers how to do the Remez Exchange or IIR design procedure, so they go back to good old Matlab.
Re:Math S/W (Score:2, Interesting)
Although Mathematica certainly has far better symbolic capabilities, it is slower than molasses for numerical work. Moreover, Mathematica's programming language is terrible.
Finally, even though Mathematica can do symbolic mathematics, for 95% of the mathematics that I do (I have a PhD in economics), a good understanding of algebra, a pencil, and paper provide useful results much more easily than Mathematica.
IMHO, Mathematica is just a bloated piece of crap.
Re:Math S/W (Score:2)
Matlab is slow if you use loops... You should vectorize your matlab programs.
Example:
for i = 1:length(x),
y(i) = x(i)*sin(theta(i));
end
is horrible slow, but can be easily vecotirzed as:
y = x.*sin(theta);
Vectorization takes a while to get the hang of, but is an incredibly powerful feature in Matlab that you'll learn to miss in other languages.
Another good thing about matlab is that it's relatively easy to call fortran and C functions from matlab...
Granted, Matlab is missing a lot of nice features of other languages, but it has many good strengths.
Re:Math S/W (Score:5, Informative)
Mathematica offers a great symbolic algebra tool, a functional scripting language, a good plotting data visualization tools.
MATLAB offers a great procedural scripting language, awesome array/matrix handling, and good plotting data visualization tools. Although, overall, MATLAB scripts run very slowly, when it comes to array/image manipulations, our best coders couldn't write C code that would perform as quickly as a well-written MATLAB script.
I have extensive educational experience with Mathematica and extensive proffesional experience with MATLAB. One is good for some things the other is good for other things. For basic math projects or assignments, probably either tool is equally good, and tools such as Octave or SigmaPad are effective and free alternatives for MATLAB or Mathematica, respectively.
MATLAB and Mathematica shine, however, when it comes to toolboxes. At Lockheed Martin, I used the Neural Network and Image Processing toolboxes extensively, and I was very happy with them. Also, MATLAB lends itself nicely to reprogramming your code in C, or using MEX wrappers to program in C or insert C code into MATLAB.
Although I don't have much experience with Mathematica add-ins (except for the Statistics Toolbox), I imagine that they are also well written and efficient. I would guess that Mathematica would have better *analytical* toolboxes, whereas MATLAB would have better *numerical* toolboxes.
Re:Math S/W (Score:1)
Re:Math S/W (Score:2)
Re:Math S/W (Score:2)
Not only that, but when I'm done with my simulation, Matlab has some pretty decent graphing capability. I don't need to waste my time handling spreadsheets full of data and trying to get a meaningful plot.
Re:Math S/W (Score:2, Informative)
But one thing I know HASN'T change is Matlab's horribly inefficient scripting. I'm probably not representative, but I never seem to do anything "standard" with any tool - I usually find "standard" solution I'm content with without redesigning them (DCT, for example). I always do nonstandard things, usually nonlinear, and Matlab hasn't once given me a good surprise (and I gave it more than enough chance). I'm not one of them. I've worked in languages (APL, Fortran) and environments (some IBM vector pipelines from 10 years ago whose name I can't recall, among others) that capitalized on vectorized access; I write vectorized matlab code. Unfortunately, sometimes it's the wrong thing to do.
In one case, while trying to compute a three dimensional electrostatic field around a weird asymetric structure, I needed a matrix that contained, for each point in space, a distance from one of a set of given points. Doing this vectorized required multiple large intermediate matrices (think tens of megabytes), none of them sparse. When I debugged the matlab code on small matrices, it worked fine; When I went to the full size, it got a slowdown factor of 500 or so due to swapping. I rewrote this as a Matlab loop instead without any additional computation, and it was 5 times faster (100 times slower than anticipated if vectorizing didn't spill to disk). Writing the same loop in Numeric yielded nearly 20 times improvement. Not quite the vectorized result, but just 5 times slower than that (The code did many superfluous computations, which were unavoidable in vector form). I also converted the original vectorized version to Numeric, and it ran at exactly the same speed as Matlab.
It was around that time that I stopped taking Matlab seriosly - Python/Numeric consistently outperformed it in any test, was easier to interface to C, and didn't have licensing hassle attached. It isn't as prettily packed, and you have to collect "packages"/"toolkits" yourself instead of relying on Mathworks to do that for you, but it has been more than worth my time to do so. Actually, I don't. Are you designing a new DCT algorithm, different from the Lanczos/Daniels, Sorensen or Winograd algorithms? Because doing so would take you days (if not months) in any environment. Are you designing a new DCT implementation? If Matlab saves you time, you should probably be spending time on something else - Matlab doesn't help you evaluate precision loss, limit cycles, saturation problems, etc. Is that DCT needed as a component inside something else? Then you aren't designing a DCT algorithm at all - the same way you call "dct2()" in Matlab, you could do that in C, Python, Fortran or Lisp.
Regarding your DWT algorithm - you didn't really try to compute any interesting wavelets or any continuous ones lately, have you? Another area I have experience with and which I found Matlab severely lacking (And yes, I _was_ designing new wavelets, not just reiterating the standard families). It has decent graphing capability, but nothing out of the ordinary. I used DISLIN, gnuplot, and various other packages through time; They're just as easy to use, some give matlab-quality output, and there are a few that give quality output, that I wouldn't be ashamed to publish in a referreed magazine (which I can't say about matlab output).
The reply suggests, more than anything, that you've only used Fortran, C and Matlab - out of which Matlab is definitely the environment of choice for most design work. But there are a lot of other tools out there, and I have found them definitely worth my time. Check them out when you have the time.
Personally, having a strong Prolog origin, I like Mathematica's syntax as well, and usually requiring weird things Matlab can't do efficiently, don't find it significantly slower than Matlab even for numeric work. But that's probably just me.
Re:Math S/W (Score:2)
Having said that, I think we can both agree that Matlab is a great tool for... shall we say... quick-and-dirty simulation/analysis. It IS convenient and it is up to the task in most cases (you say yourself that you tend to do stuff that's out of the ordinary). I wouldn't exactly call myself a power user, but for the type of stuff I've had to do with it (DSP mostly), it has been more than up to the task. Certainly, I have never considered writing my own simulation tools.
As far as the plotting goes, Matlab does have some nice facilities built in and accessible to the casual user. If that's not enough, it can do vectored output (as can DISLIN and gnuplot), which means you can bring it through a package like Illustrator and produce true quality output with a little more effort.
What would you recommend to someone coming from a Matlab background to use? I do most of my work on a Mac these days. If it really isn't that much different, I wouldn't mind giving it all a try. Particularly of interest to me would be the plotting stuff.
Re:Math S/W (Score:1)
In the last few years I've been doing more managerial/administrative stuff than research stuff, so I can't offer much advice about the recently available tools. For me, Numerical Python + very infrequent C code + DISLIN for plotting won against Matlab everytime; YMMV.
It really depends on what you want to get done - it is similar, but not similar enough to make you comfortable from the first minute. Python is a real programming environment that scales well, while still supporting quick-and-dirty prototyping - but it's still general purpose, so you may sometimes have to do things differently than in Matlab. The simple stuff is more or less the same (if not simpler), and the vector way of thinking carries over to Numeric (the Python part that deals with
Find the right tool for the job; For me, Matlab has never been it, but for you it may.
Re:Math S/W (Score:1)
Re:Math S/W (Score:1)
You have a point, you know. In my class, most the things we were using (read: forced to use) matlab for were dull and insane. However, some of the things I did (and experimented with) you'd (ok, I'd) just go crazy over without _some_ software to hold it all together.
But since you do it by hand, please grace us with a project competitive with matlab.
Oh, and let's see you pencil those eigenvalues in seconds. Damn those poorly-worded tests!
Do It Better? (Score:1)
Re:Do It Better? (Score:1)
I think math toolkits need to be open source, otherwise the work you put into it is tied to the fortunes of a particualr company that either might not be around or decide to stop supporting what you need (like mathworks deciding to stop supporting macs).
XDarwin (Score:1)
Re:XDarwin (Score:1)
scilab (Score:1)
Re:scilab (Score:1)
Matlab for Linux (Score:1)
Re:PowerPC Performance sucks in double precision (Score:1)
That's not what the poster is saying at all, and you know it. The poster said that Mathworks doesn't care if a couple of university folks want to run their software on a Macintosh.
First of all, the vast majority of Matlab users in university settings still use Unix or Linux systems. This is in part due to inertia, and part due to licensing issues---due to central network-wide installation, it is still more practical to implement carefully controlled site-license software on Unix than it is on a PC or Mac.
Secondly, even if there were a few Mac users in university settings who might like to have Matlab on their machines, what do you think happens when those people graduate and head to industry settings? They use whatever their company makes them use, that's what. And that will either be a PC or a Unix/Linux box, more often than not.
So I'd say Mathworks decision was unfortunate for Mac users but justifiable in the Mac OS 9 days. Now that Mac OS X seems to be changing the landscape it will be interesting to see what develops.
I personally will pay for a Matlab license on Mac OS X if it comes out---it's the one thing that keeps me from ditching my PC for a Mac.