I just downloaded Matlab a few days back, and I've been slowly working through some of the online tutorials. But I have to be honest, the format in which you have to type in a bunch of different stuff to get certain things done seems very inefficient and annoyingly non-user-freindly. Maybe its because I just got it a few days ago, but it really seems to be complicated, clumbersome, and unusefull. For those fimmiliar with Matlab, did anybody experience this frustration at first also? Does it just take alittle time to get used to and then all the sudden (as you get more experienced) does it become much more "powerful" and useful? And does anybody have any tips on a good tutorial that doesnt take hours to get to the usefull parts but ensures you have a decent understanding of using Matlab?
I just feel like having the "command-line" interface makes things difficult, and that Matlab would be much more efficient if their were different buttons and menus and scroll bars and what not that allowed you to access the processes within the software. Plus it would look nicer. But I'm assuming as one gets deeper into the understanding of the software, the command line approach becomes very useful??
Thanks in advance for any advice or tips.
Above is a good introduction to matlab written by my professor. To see how useful matlab is, you need to find a class that benefits from it greatly. For me, I'm using matlab in my signals and systems class, and I am stunned how many built in functions and features the language has. For example, I can plot the impulse response to an LTI in 3 lines of code, I can make a graph of some random function in 3 lines of code, and I can interface functions with each other in the easiest, most streamlined interface I've ever used in programming. In C++, you'd need to mess around with tons of syntax that says "this function I've written belongs to this piece of code. Therefore, that piece of code can use it." In matlab, I put a function.m file in the same folder as my program.m, and I can immediately use the function.m in program.m. It's fantastic! The tons of built in functions cover many areas of math and engineering. It can do differentiation, integration, statistics, signals and systems, and probably tons of other topics I don't even know about. Another powerful feature about the language is that most variables are automatically arrays. The language seems designed to handle enormous arrays and enormous amounts of data.
Commandline is great to test features out before you put it in your script file(the parallel of a program). It's also good to debug/expand an already made script file, because after the script file runs, all of your data is still in matlab's memory. With that, you can, using commandline, input commands to manipulate, test, or view that data.
The best source to see matlab's use would be taking a class that can benefit from the power behind matlab, or maybe reading a book about matlab for engineers.
I'm partial to LabVIEW myself. (Evilgrin) It does quite a few things that MATLAB does, if not most things, and it talks to hardware better than anything I've ever seen.
I know the feeling. First time I used Matlab I thought why would anyone want to use a command line or write a bunch of code in a text file - seems like something a cave man would do now that we have pretty user interfaces for everything.
For number of years I steered well clear, with the philosophy that excel was a much easier way to solve any problem that could arise as it was much easier to see what was happening on a page and why would anybody want to use a programming language like matlab that required you to write your own code.
It wasn't until I had a project that involved structural analysis that I really began to see the true power of a package like matlab (even then I only used a fraction of that power). The problem was what I refer to as a dynmic problem, in the sense that the the number/types of inputs can change and hence the way you approach the problem may also change. This was something that excel basically wasn't designed to do, although VBA was an option it would result in some nasty code that would practically impossible to expand/recycle as my project needs changed. At the end of the day it is my opinion that excel is for manipulting data rather than serious number crunching (dont get me wrong spreadsheets have their applications, which I refer to as static problems where you know what the size of your problem is going to be and how you want to handle it).
Its not until you find yourself in a position like this until you will begin to understand the strengths of matlab, and while it is a very steep learning curve at the start, it is very achievable to become sound in basic matlab principles within 3 months that will allow you to solve many many problems complex problem in a fraction of the time it would take to do in something like a spreadsheet.
Sorry to have a rant on the Matlab vs Excel debate but it is the best example I can think of to answer your question.
If you came to Matlab from a programming background it would not seem so strange. What is strange is that it is so commonly used to teach the equivalent of programming 101.
Originally Posted by mfetch22
Originally Posted by CaptainBlack
That is very true. I often wonder if I would have had a better introduction into programming if I started with a more general language like python to get my head around the concepts of statements, loops and functions etc (although these are fundementally no different in matlab).