Slashdot Mirror


MATLAB Survey for Mac OS X

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."

19 of 48 comments (clear)

  1. Wonderful by AsOldAsFortran · · Score: 2, Insightful
    I plan to vote early and often for this.

    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.

    1. Re:Wonderful by EddydaSquige · · Score: 2, Informative

      I tried to vote early and often, but the survey looks like it will be conducted by phone and not the web. The survey link simply gives you a form to fill out you name, title, address, ect... And that's it, no other questions. So expect a call from marketing in the morning.

    2. Re:Wonderful by softsign · · Score: 3, Informative
      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.
      You can get Matlab for just about any Unix (and it will run fine on a $1000 Sun Netra). So the implication by Mathworks that it would be difficult is bogus. Releasing a port that uses X would probably take them about one month. Using Aqua would probably take some more time. But with the rate of OS X adoption among engineers, they would be stupid not to pursue this.
    3. Re:Wonderful by softsign · · Score: 2
      I certainly don't think any engineer will take an Apple machine over a Sun workstation (or even a PC) for performance reasons. But I think there is definitely a market for Matlab on OS X even among the people already using it on higher-end hardware.

      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).

    4. Re:Wonderful by sql*kitten · · Score: 2

      I plan to vote early and often for this.

      Only do so if you are willing to spend significant cash money buying licenses. Remember what happened to a certain Linux games company? 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.

  2. Octave by DustMagnet · · Score: 4, Informative

    There's always the open source alternative called Octave. It doesn't even require a license server, something I hate about matlab.

    --
    'SBEMAIL!' is better than a goat!!
    1. Re:Octave by EccentricAnomaly · · Score: 2, Informative

      Unfortunately Octave's plotting is horrible... and the main reason that I use Matlab is for its plotting.

      What we need is some good open source plotting libraries ....hmmm :)

      --
      There are 10 types of people in this world, those who can count in binary and those who can't.
    2. Re:Octave by b_pretender · · Score: 2
      Octave's random number generator is as slow as molasses!!!

      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).

    3. Re:Octave by jdavidb · · 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.

  3. Re:Could someone confirm this survey's legitimacy? by mkoz · · Score: 5, Informative

    It is also posted on MacNN:

    http://osx.macnn.com/news.php?id=13863

  4. Math S/W by showboat · · Score: 2, Interesting

    I had to use matlab on Linux (RedHat) in a 2000-level math course last semester. Let me tell you, it wasn't fun. At least, what we had to do required more time and energy figuring out what's what than it should have. Granted, it was low-er level math; granted we didn't go far into the program -- but the thing was strangely designed. It's kinda like ms office: there are things in there that could be improved, interfaces made more consistent, to actually encourage productivity. No?

    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?

    1. Re:Math S/W by Circuit+Breaker · · Score: 2, Interesting

      Mathematica from Wolfram Research is far from being free, but is way ahead of MatLab in anything that matters (except market share ...)

      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.

    2. Re:Math S/W by PoiBoy · · Score: 2, Interesting
      I firmly disagree that Mathematica is "way ahead" of MatLab (or Gauss), especially when it comes to Matlab's core competencies such as matrix algebra and general-purpose numerical analysis.

      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.

      --
      Sig (appended to the end of comments you post, 120 chars)
    3. Re:Math S/W by EccentricAnomaly · · Score: 2

      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.

      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.

      --
      There are 10 types of people in this world, those who can count in binary and those who can't.
    4. Re:Math S/W by b_pretender · · Score: 5, Informative
      Comparing MATLAB to Mathematica is like comparing apples to oranges.

      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.

    5. Re:Math S/W by softsign · · Score: 2
      You've obviously never had to use Simulink or Real-Time Workshop. Mathematica has nothing like this and it is the lifeblood of engineers.
      Python + Numeric + {Dislin/PyChart/...} do a decent job, much faster and much more flexibly
      I would like to see you write a script that will do 2D signal processing and plotting of the results in about 20 lines. I can do this in Matlab. Not only can I do it in about 20 lines of code, it will be blazingly fast if properly written to take advantage of Matlab's matrix capabilities. A lot of people make the mistake of writing Matlab code like they would C - lots of embedded loops, iterating over one variable. That's not how Matlab works and it usually results in awfully slow execution. Use matrices like they're supposed to be used and Matlab works like a champ.
      good old Matlab
      Exactly. Matlab is great for what it does. I can spend a few days designing and testing an efficient DCT algorithm, or, I can use Matlab. I can spend a few days designing and testing an efficient DWT algorithm, or, I can use Matlab. You see where I'm going with this...

      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.

    6. Re:Math S/W by Circuit+Breaker · · Score: 2, Informative
      You've obviously never had to use Simulink or Real-Time Workshop. Mathematica has nothing like this and it is the lifeblood of engineers.
      Actually, I've had the misfortune to use Simulink. I had to simulate a non-linear multiple input/multiple output system, and I couldn't get Simulink to do it; So I turned to all the local experts who told me to use it in the first place, and once I described the problem to them, they said "Oh, of course you can't do that in Simulink". Granted, it was a very complex system, but that's why I needed modelling in the first place - I couldn't get an approximation any other way.
      I would like to see you write a script that will do 2D signal processing and plotting of the results in about 20 lines. I can do this in Matlab. Not only can I do it in about 20 lines of code, it will be blazingly fast if properly written to take advantage of Matlab's matrix capabilities
      With the exception of "import Numeric" and "import ", which I can hide away in a "Matpython" startup script, your 20 lines will probably work in Numeric Python with minor syntax tweaking and (unless you have no loops or unneeded copying, which is hard to get in Matlab) noticably faster. Numeric even uses the many of the names used in Matlab (which in turn copies some old fortran libraries) for most functions. But Python is significantly more capable - Let's see you do proper 4D signal processing with those 20 lines - I was able to do that in Python and I wasn't able in Matlab (that was why I switched at the time). It was Matlab 4, I think, and anything beyond 2D was hardly supported - perhaps things have changed.

      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).
      A lot of people make the mistake of writing Matlab code like they would C - lots of embedded loops, iterating over one variable. That's not how Matlab works and it usually results in awfully slow execution. Use matrices like they're supposed to be used and Matlab works like a champ
      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.
      Exactly. Matlab is great for what it does. I can spend a few days designing and testing an efficient DCT algorithm, or, I can use Matlab. I can spend a few days designing and testing an efficient DWT algorithm, or, I can use Matlab. You see where I'm going with this...
      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).
      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.
      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.
    7. Re:Math S/W by softsign · · Score: 2
      Well, I must say I vastly underestimated your experience with Matlab. Given the forum, I assumed you were just cheerleading for open-source software. Sorry about that (it's a gut reaction).

      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.

    8. Re:Math S/W by b_pretender · · Score: 2

      I ment to say MuPad. It's not as good as Mathematica or Maple, but it's a close third. None of the other CAS packages are in the same category as these three (unless they use Maple as the engine).