Domain: mathworks.com
Stories and comments across the archive that link to mathworks.com.
Comments · 188
-
Re:MATLAB: Costly but extemely effective> However, because it's interpreted, if you have ny loops, it's going to be very slow going. There often many tricks to "vectorize" operations you'd normally do iteratively in other languages, but often the only solution is the ol' for-next or while loop.
This is not such an issue any more as The Mathworks have introduced new technology into the interpreter. The interpreter now contains a "Just In Time" JIT compiler that phenomenly increases the speed of looping code.
"The JIT-Accelerator gives you the flexibility to run your code faster without having to perform vectorization.....Today with the JIT-Accelerator, you no longer need to vectorize code to speed up the execution of many applications." -
Re:age-old answer: it depends
(matlab and mathematica are too slow for big computations).
Of course, you could just use the Matlab compiler to generate executables. -
Re:MathCad?
The MATLAB documentation available online is actually pretty decent. They have a getting started section as well as lots of examples that use actual numbers instead of a bunch of variables and theorems.
;-) -
Re:Maple sucks....
You would install this and us "diff" and "int", among others.
-
Re:age-old answer: it depends
Just like all software, this should be "the best tool for the job." It is often determined by arbitrary personal preferences and resource availabilities (using Matlab over Mathematica just because there are licenses laying around).
I've done some genetics work using combinations of Matlab, Perl and C. I used Matlab for the heavy algorithmic implementation, with the really intense bits in C, and Perl to do the pre/post-processing. I've also used the Simulink package in Matlab to do some chemical signal modelling.
I've used the above software on combinations of Intel/Windows and SPARC/Solaris platforms (my employer didn't mind if I burned CPUs over the weekend). In that case, taking advantage of all that hardware (a few million $s worth) influenced my choice of language/toolkit. I know that a lot of quantitative analysts seem partial to C++. Many professors, especially the older crowd, use a lot of FORTRAN. One guy I know, doing high-energy work at CERN, uses Java. Some students, when I was an undergrad (late 90s), used something called IDL (maybe it's "Interactive Data Language") to process some astronomical data.
As another poster mentioned, physicists (which is mainly the category I fall into) tend not to trust any off-the-shelf stuff (hardware or software) and will typically look to build things themselves (or at least understand what they've bought in intense detail). Although, I've never gotten involved in serious computational physics (other than typical post-processing and visualization on data I've collected).
One statistical mechanics grad student knew all the details of the least-squares and regression implementations in Excel. Actually, you'd be surprised how many people will use Excel for simple calculations and visualization. It's quick and easy, once you know what you're doing, so why mess around doing it with GNUPlot or something else (which is equally/more efficient, but is another tool to learn)?
In the end, whatever requires the least amount of the researcher's time is the best solution. A little extra computing time (in many, but not all, cases) is negligble when compared to the time spent coding. The UI doesn't need to be slick, the performance (probably) doesn't need to be great (except for detector software that's generally real-time). All that matters is that the results are correct/accurate (and hopefully repeatable). -
Re:Dad and the other desktop users...
Get yer Mathematica for Linux right here..
or if you prefer Matlab for Linux...
or perhaps Maple for Linux?
(I haven't used any of these on Linux; I've used Matlab on a Sun back in the days of fvwm2 so I'm *guessing* it will run under more modern window managers without having to mess with anything..) -
Syntax Error... Matlab -or- Maple vs Mathematica
I would suggest doing some more research about Matlab and Mathematica (as well as Maple).
Matlab is mostly used for creation of and use of complex algorithms, DSP simulations, and other "heavy math" tasks. It's a great swiss army knife and integrates easily with most C compilers for compiled-performance (rather than interpreted). One of the many "modules" included with Matlab is a symbolic math package based on the Maple engine (see below).
Mathematica and Maple are little more than symbolic math packages. (Don't get me wrong, they can do A LOT, but neither comes close to the full Matlab package). Each has its pros and cons, but either will do quite well for any math undergrad university student and most grad students. The merits of Mathematica vs Maple are often heavily debated on the usenet and in other forums.
Matlab, Mathematica, and Maple are all very powerful packages... they can do **WAY** more than any of the lame "MathCAD" type apps you probably used in high school.
All three are available for Windows, Mac OS X, Linux, and most flavors of Unix (Solaris, AIX, IRIX, HP-UX, Tru64). Each has a rather simple interface and "looks" like a native application with the exception of the Linux/Unix version of Matlab -- it's a quick port from Windows with some lame crossplatform toolkit. Its GUI widgets look as though they're straight out of Windows. This cannot be changed without a lot of hackery. Despite the ugly interface, I would recommend Matlab for students... the student price is about the same as that of Mathematica or Maple, yet includes so much more (plus all of the symbolic math features straight from Maple 8).
If you don't need (or don't want) all that Matlab offers, Maple may do the trick for you. I used Maple 6 for years and only recently moved to Matlab (for compatibility reasons). Maple, even the current Maple 8, is a clean lightweight application. It's easy on the disk and ram, and even easier on the CPU. And, (IMHO), it does just as much as Mathematica would for me.
Also, all three have a full-featured command line interface alternative to their GUIs. Learning how to key in equations without the mouse and tool palettes will help you in the long run -- you'll be able to enter data much faster. Brushing up on TeX and/or MathML will also prove helpful.
These days, my workstation runs little more than Matlab, LyX, and sometimes Framemaker. -
Matlab for Linux
Matlab for linux http://www.mathworks.com/products/system.shtml/Un
i x -
Re:Finally!
-
Distributed Solver
Cool. What I really want to have is a distributed solver for dynamic simulations. But a dream scenario would be to do the setup, pre- and postprocessing in any simulation program (like ADAMS, LMS or even block-scheme based like EASY5 or AMESIM or good old Simulink). For the solving part, however, I'd like to just export the equation sets (implicit or explicit) and let a distributed solver take care of this. As I understand, it could be possible to use the Mathematica solver as it exists today. Maybe not very efficiently though, but this could be compensated by quantity. I would love to install such baby in our company...
-
A very readable introduction...I have just read a particularly readable introduction: The Manual for the Matlab Wavelet Toolbox.
I presume that you have to buy the toolbox from The Mathworks, but if you are a Matlab user and want to get into using wavelets (and their variants), this would be a very good first step!
The first couple of chapters give an "idiot's guide" to wavelets, and then things build up from there. The book includes examples of how to use the Wavelet Toolbox for both 1-D (e.g. time series) and 2-D (e.g. image) signals, case studies, a section on the more advanced topics (here's where you find the maths) and a function reference for the software included in the toolbox. There's plenty of nice diagrams and graphs to aid understanding.
Even if you don't intend to use Matlab, this book is worth reading as a general introduction. If you are in an academic environment, your library may have a copy, or perhaps some IT library/book dump somewhere.
For Matlab users, don't forget to check out the homepages of researchers currently developing wavelet-based techniques -- they are often very happy to let you have some code to play with.
Have fun!
-
Re:Development on Windows
What may be is that they are using a product made by The Mathworks called XPC Target. This product take a simulink (block diagram based programming language) model and interprets it to c++ code. It then compiles the c++ code into an executable that is run on an embedded machine with a modified NT Kernel (all low level, no GUI, etc) to run the code.
That might just be it. -
Development on Windows
The article says, that the development was done on Windows. not that the robot itself is running on Windows.
Combine this with the fact, that they're using Matlab and C/C++ and this means that they're using the great API Matlab has, for tuning Matlab code in C++ and vice versa. They're also using Matlab for the reason that it's _the_ application for simulation and generally scientific computing from a whole range of sciences.
What I don't get is, why don't they use Matlab in Unix? A Unix version exists, costs the same, but I've never seen a simple copy of it ever. And I've been using Matlab for 6 years now... -
Isn't this what we ask of them?\begin{quote}
"We do not anticipate offering software on Linux. Nobody pays for software on Linux."
-S. Balmer\end{quote}
Wait a minute. You mean the money I spent on Crossover as well as the money I shelled out on the Linux version (actually the student Linux/windows version) of Matlab was not for Linux software? While I suppose the Crossover was actually in the end for MS software, I wasn't paying for MSOffice, I was paying for the ease of compatibility (without much technical knowledge on my behalf).
In fact, Crossover may be an example that at least some of us are willing to pay for something we would scoff at on a windows system. Yes, in most cases there are free alternatives to software available on Linux today, but some of use are willing to pay for a better quality product if it is just that... better.
As for Microsoft trying to make their product more valuable so that people will choose to pay for it, as opposed to electing to partake in a free operating system with more free software... well that is exactly what they are supposed to do. However, they have relied on being the "only" (read to mean the "primary") operating system in use, and therefore could charge a price that may not necessarily reflect the quality of product they put out.
And finally, this deserves the "I'll believe it when I see it" clause, because we have all heard songs like this come from Microsoft in the past.
-
It's quite common
A big benefit for the publisher is that you get customers of the product right away, who are more likely to either buy it when they belong to a company or put in a word to switch to it from a competitors product. Why isn't this type of license used more often? I
This sort of licensing scheme is quite common, when I was a student I got MATLAB and CodeWarrior, in addition to MS Office under these terms. Unfortunately it did not result in more sales for those companies when I graduated, although if I'd gone into Engineering, it would have :-) -
Re:MATLAB
Also here on their website.
-
Re:what kind of science?
Come on people, do some f***ing research before posting clearing erronious material.
Also no OS X native Matlab yet, meaning I have to switch to (yuck) classic. (I just go and use a SPARCstation).
Did you even take the time to look at MathWorks Website? Or have you not looked at it in the 6 months?
Here is a link to MatLab of OS X.
Please have some knowledge before you post... -
Matlab for OS X out for awhile
Matlab has been out for OS X for awhile now. Latest version is 6.5, same as all other platforms. Spec page here.
-
Does the JIT helpI'm a big MATLAB fan, and worked at The MathWorks for 5 yrs. The latest release includes a built-in JIT (Just In Time compiler) which automatically compiles loops before running them - the feel and use is the same as before (feels interactive), but you can get a serious speedup; it could be worth looking at (brand new stuff, just released this week).
Netlib is FORTRAN-ish, but has a significant amount of C, too. Many languages, MATLAB included, allow you to call C and FORTRAN code from their languages. So why not use the best of all these worlds? Pick your favorite language that provides you with an API to functions implemented in other languages, and use it.
I prefer MATLAB for *many* reasons, but regardless of what you pick odds are you can still mix-and-match languages to some extent. Microsoft's CLR is a big step in this direction, too, but that's a whole other thread...
-- Nabeel -
Re:Use Matlab
I totally agree with you and all the others out there who promote Matlab - a great tool! And all the available toolboxes (like Simulink) certainly don't make it less desirable...
One guy recommended using C++ together with specialised toolboxes... no need for this with Matlab! Sure, if you only need to do something once or twice, the price tag is an obstacle. But in the industry it's often more costly to have an engineer using 2 more weeks on a problem than coughing up the money for a license... -
Re:Use Matlab
I totally agree with you and all the others out there who promote Matlab - a great tool! And all the available toolboxes (like Simulink) certainly don't make it less desirable...
One guy recommended using C++ together with specialised toolboxes... no need for this with Matlab! Sure, if you only need to do something once or twice, the price tag is an obstacle. But in the industry it's often more costly to have an engineer using 2 more weeks on a problem than coughing up the money for a license... -
Re:In meaningful terms
As a slight correction, when it comes to baud ratings, 10 Gigabit/sec = 1 Gigabyte/sec
It's 8:1 for storage, but generally 10:1 for network ratings (an example - more for serial ports, but it still applies), thanks to a header and a footer bit sent with every byte. Sometimes (rarely), throw in a parity bit for good measure.
Mind you, that's still only 2.78 hours. -
Sometimes it is nice to have the right pieces
I agree with the principle of having a stripped down version of windows which will run faster and be less bloated. I cannot stand outlook express nor MSN Messenger (though I can thankfully delete its DLLs). I also see the arguments that if you strip out basic functionality that third party developers are expecting, you cause a big mess. That's a very valid point to me. I recently encountered a situation which seemed to me the opposite path of Microsoft -- instead of including everything it can, this company (Mathworks) included as little as it could. When you want to use an additional feature, you pay for it. Specifically, I wanted to compile matlab code into C++ code. So let's say you have the basic Matlab release 12.1. To compile matlab code written in Matlab, you need to Matlab compiler. That's $200 (Academic pricing). Fine. I understand. Not everyone needs a compiler, so it can be extra. But you get the compiler, and you realize that really, you also need the Matlab C/C++ Math Libraries, since in Matlab you do, well, math. The libraries are another $200, and if you want to do anything like image manipulation, you need another set of libraries. Since everything you do in matlab is pretty much math, having a compiler without math libraries is worthless. They should sell both together for the combined cost ($400), but they don't since the lower cost brings them more customers who buy just the compiler for $200 before finding out that to use it they'll need to shell out another $200.
Personally, as much as I hate the features I don't use because of the bloat, I like the ones I do use. I like the fact that Explorer can open zip files, and that I can burn CDs without using that stupid easy CD creater (though I prefer cloneCD myself). Imagine if Microsoft did the same thing as Matlab -- they sell you the operating system for $10. As soon as you install it, you realize you didn't buy the keyboard package that allows you to use a keyboard with your system. You buy that, and then you realize that you also need the usb package so you can plug your keyboard in. Granted, most computers have keyboards, but for those that don't (like dedicated servers that never get accessed locally), isn't a keyboard driver just bloat and slowing the system down? There's a very fine line... -
Matlab for Linux
They already have Matlab for Mac OS 7/8, and for Linux. Unfortunately the linux version is x86 only, and I'm not sure whether OS X supports OS 8 applications. It doesn't look like they have a native PPC version.
-
Matlab for Linux
They already have Matlab for Mac OS 7/8, and for Linux. Unfortunately the linux version is x86 only, and I'm not sure whether OS X supports OS 8 applications. It doesn't look like they have a native PPC version.
-
Languages for Mathematicians by Mathematicians
Mathematiticians have invented a language called ML (Meta Language) which is a functional language in which you can write mathematical formulas almost as you would mathematically define them.
In the area of functional progamming you should also consider Common Lisp which is a well known functional language used mostly for AI.
On the properiatry side, many mathematical algorithms get coded in MatLab which provides built-in matrix manipulation and lots of additional libraries (you'll probably find out most of the stuff you want to write is already there...)
In any case, the progamming language should be tightly fitted to the application. -
Re:OOP won't help, sorry...
MATLAB solves many such problems and is written in C++ (and more recently they use Java, too). ORACLE is a database that is often used for storing and manipulating vast amounts of numerical data. This, too, is written in C++. There are several commercial C++ APIs that provide for heavily optimized complex number operations, polynomial operations, matrix operations, and transforms. Such APIs take advantage of operator overloading to allow straight-forward translation of standard mathematical notation to C++ code using an OOP paradigm.
All of these problems could also have been solved with C programming practices. In fact, the OOP concepts of C++ can be implemented in C manually (that was how C++ started, back in the days of C with Classes and later cfront). The aforementioned projects do not do so for economic reasons; it was cheaper to develop and maintain C++ code. Perhaps your projects are cheaper to develop and maintain under C.
-
The main problem
An oscilliscope just samples input voltages and displays their amplitude. That's REAL tough computations (NOT!). And a frequency analyzer (often used for a similar purpose) just takes a fourier transform of the signal (this is a mere O(n log(n)) complexity problem). The software is trivial!
The main problem is the sampling rate of the hardware. Soundcards are made with a sampling rate that is only slightly above and below the range of human hearing, which means that for many circuit frequencies, they are unacceptable. If this will work for you, the coding is rather simple since its the well known I/O operations that have been used in PCs forever. Just learn a little bit about SOME sound API and output the wave output from the soundcard in real time. I'm sure others have done this before, too. Its a 4 hour job.
If you need better accuracy than that, you need to buy a data acquisition card, but it will cost you a pretty penny for them. Here is a list of some of these cards.
There are some up sides of having a card such as this that can capture high quantities of data, the biggest being that if you know C, and you get specs on ANY kind of input signal, you can often write a driver for it - NTSC signals, radio signals, digital video signals...pretty much anything.
If you really want to do this quickly, get something like the matlab and use the data acquisition toolbox.
In my opinion, a data acquisition device on the computer beats the pants off of an oscilliscope any day. -
Something Doesn't Make Sense
The department's frowning on Linux-based PCs because you can't get the student edition of Matlab in Europe?
Your department shouldn't be installing student edition on any institutional PCs anyway. Student edition is for students' personal machines.
Also, this link says "Release 12 of MATLAB Student Version, including MATLAB 6 and Simulink 4, is now available to students worldwide." Maybe that's not including the Linux version.
So, suffice to say I'm confused. Mathworks will sell your school all the non-student-edition copies it wants for any platform, regardless of whether you're in the US. So where's the problem?
-
Re:Rambus vs Pentium FP bugSee here: http://www.mathworks.com/company/pentium/index.sh
t mlAssuming this is correct, the FDIV bug was more related to rounding errors on very high numbers, so I'd say that problem was probably not from the pentium bug, but maybe if it were optimized for 486's and then the exe was copied to the Pentium there *could* be a problem. Then again, maybe POVRay had a bug (gasp!).
-
Re:Where this is a blessingUniversities will love things like this. There is a need for three dimensional rendering tools in engineering and art classes, and schools do like to trim dollars.
On the other hand, universities won't be paying list price for software of this type. Engineering departments typically get huge discounts for real high-end software, so that they produce graduates who know how to use it, who go onto to work for companies that buy it. Compare the student to professional costs of a package like MATLAB. And universities will get all the support they could want, plus access to the full, very specialized software package which, like another poster said, will contain features that wouldn't even make sense to people outside the niche market. Compare MATLAB to Octave. The core engines might be comparable, but Octave doesn't offer the specialist tools.
Another blessing is that it will force the cost of the professional version of these programs down.
Unlikely, for the reasons above.
. Especially as people start copying the features in the top end programs and add them to the GPL'd stuff.
Again, this doesn't help. Why wait for an imitation when the commercial product will deliver return on investment so quickly? (And on a separate note, why doesn't the Open Source camp innovate?).
-
Re:Where this is a blessingUniversities will love things like this. There is a need for three dimensional rendering tools in engineering and art classes, and schools do like to trim dollars.
On the other hand, universities won't be paying list price for software of this type. Engineering departments typically get huge discounts for real high-end software, so that they produce graduates who know how to use it, who go onto to work for companies that buy it. Compare the student to professional costs of a package like MATLAB. And universities will get all the support they could want, plus access to the full, very specialized software package which, like another poster said, will contain features that wouldn't even make sense to people outside the niche market. Compare MATLAB to Octave. The core engines might be comparable, but Octave doesn't offer the specialist tools.
Another blessing is that it will force the cost of the professional version of these programs down.
Unlikely, for the reasons above.
. Especially as people start copying the features in the top end programs and add them to the GPL'd stuff.
Again, this doesn't help. Why wait for an imitation when the commercial product will deliver return on investment so quickly? (And on a separate note, why doesn't the Open Source camp innovate?).
-
graphical calculators are a bag of shite ...... for learning maths.
HP say " now you'll have the power to teach math, not calculator usage.". Speaking as someone who has taught maths to first year undergraduate students, graphical calulators are not a substitute for rigourous thinking and analysis. All you learn with a calculator is how to draw pretty pictures, which tend to lead to unjustified and incorrect conclusions about the underlying mathematics. If you do want to program and draw pretty pictures then use Matlab (I do). Then you'll know how to use a tool which has some worth out in the big wide world. If you want to understand mathematics properly, then learn some calculus and how to curve sketch rigouously.
Looks like it could be a nice toy though. I wonder if they will send me a sample?
:-) Some kind of interface (serial, IR) would be nice ... -
YES!!! Public funds == Public knowledge
I know it ain't this way anymore, but once upon a very long time ago, it used to be law that the results of research paid for with taxpayer dollars were public domain; unpatentable and uncopyrightable. Anybody who wanted to make a buck off the technology was free to create an added-value package using it (e.g., MatLab). The demolition of this policy, allowing university and corporate researchers to take proprietary ownership of technology developed with OUR TAX DOLLARS (e.g., RSA) is one of the biggest betrayals of the public trust by the U.S. government in recent times.
-
Re:Dynamic mechanics/physics analysis anyone?
Matlab for Linux used to be ungodly expensive. They now sell the student version for US$99 and it has Windoze and Linux in the same box. This is only available in the USA and Canada though, and is one of two different student versions. See the student edition page at www.mathworks.com for more info.
-
Re:Dynamic mechanics/physics analysis anyone?
Matlab for Linux used to be ungodly expensive. They now sell the student version for US$99 and it has Windoze and Linux in the same box. This is only available in the USA and Canada though, and is one of two different student versions. See the student edition page at www.mathworks.com for more info.
-
Re:UCITA will make this possibleMatlab (Mathworks) does this already with their Unix software.
I used to use matlab at Cornell, because Cornell had a site licence. But to have it on a workstation outside school running Linux? Thousands of dollars, depending on the toolboxes. And this every year!
I discovered Octave, the GNU workalike, and that makes me happy. It can't do all that the matlab toolboxes can (not by a long shot), but to be honest I never used them unless it was during a course that specifically required some special toolbox.
One less customer for Matlab.
-
Using higher level languages w/ NNs
You can also check out Octave which may have somethings. This is a language similar to MATLAB. There is a toolbox that will work under MATLAB (and maybe Octave) from the Technical University of Denmark located here. By the structure of MATLAB and Octave, the source code is usually "open" (read: you can look at it) and it is in this case as well.