User Panel
Posted: 3/30/2019 10:51:02 PM EDT
Are there any resources out there to learn Matlab from the ground up like Kahn academy out there?
I'm an undergraduate student and so far this semester has been a breif intro into Matlab for me. While I can at least manage to type equations and vectors correctly most of the time I'm usually totally lost without some help from cheg. This upcoming fall semester I'll be taking a more in depth Matlab course and am currently watching most of this semesters class struggling with it. Are there any good online/video based courses out there someone could recommend that would be good to take over the summer? At the very least I don't want to forget what I know, but if I could become proficient in Matlab before the fall that would be great. |
|
I havent found anything. I had MATLAB dumped in my lap a few momths ago. My 25yr old recent grads are the only ones who know how to use it.
Take every class you can, someone who can actually produce results will make money. The current buzzword is "automation" |
|
Quoted:
I havent found anything. I had MATLAB dumped in my lap a few momths ago. My 25yr old recent grads are the only ones who know how to use it. Take every class you can, someone who can actually produce results will make money. The current buzzword is "automation" View Quote |
|
There are numerous MATLAB handbooks running around at many different levels.
Find an introductory level one and read it, mark it up (highlighter and tabs), and have it with you when writing programs. Like almost any computer smaller programs allow you to get started on simple problems. I/O has always been a PITA when learning a new language. Getting output in a form that is human readable often takes some nasty detail work. Just use simple output formats to start. A guy I was working with was running out of 'CPU time' every time he ran his 'Root Search' program. 15 seconds on an IBM370 is a LOT of calculations. He found the negative roots but than always ran out of time. He put a print command inside the inner loop of the search program. One line of 140 column wide output. He printed almost a whole box of 140 column paper with his next run. A pile at least 14 inches deep on that thin paper. The old stuff with the green and white pattern on it. As the line printer spewed pages he cam and asked me to look at it. I glanced at the page a few inches into the pile. I then looked at his FORTRAN program. He had exponentiated a variable and did not realize FORTRAN uses the absolute value of any number when exponentiating it. When his search increment straddled x=0 the positive side was correct. The negative side (x<0) was wrong. So his program sat there and could not find the root the 'change in sign' of the result indicated was present. And his actual negative roots all where wrong. The prof had carefully structured the problem to catch anyone that forget that x^n is actually abs(x)^n. You add an extra variable that takes care of exponentiating negative number to odd powers to take care of the loss of sign. |
|
Quoted:
There are numerous MATLAB handbooks running around at many different levels. Find an introductory level one and read it, mark it up (highlighter and tabs), and have it with you when writing programs. Like almost any computer smaller programs allow you to get started on simple problems. I/O has always been a PITA when learning a new language. Getting output in a form that is human readable often takes some nasty detail work. Just use simple output formats to start. A guy I was working with was running out of 'CPU time' every time he ran his 'Root Search' program. 15 seconds on an IBM370 is a LOT of calculations. He found the negative roots but than always ran out of time. He put a print command inside the inner loop of the search program. One line of 140 column wide output. He printed almost a whole box of 140 column paper with his next run. A pile at least 14 inches deep on that thin paper. The old stuff with the green and white pattern on it. As the line printer spewed pages he cam and asked me to look at it. I glanced at the page a few inches into the pile. I then looked at his FORTRAN program. He had exponentiated a variable and did not realize FORTRAN uses the absolute value of any number when exponentiating it. When his search increment straddled x=0 the positive side was correct. The negative side (x<0) was wrong. So his program sat there and could not find the root the 'change in sign' of the result indicated was present. And his actual negative roots all where wrong. The prof had carefully structured the problem to catch anyone that forget that x^n is actually abs(x)^n. You add an extra variable that takes care of exponentiating negative number to odd powers to take care of the loss of sign. View Quote |
|
MATLAB is dumb. Maple is moar better. As long as you have #learnedtocode.
Seriously, it's like a programming language specifically for high-level math. All you need is the help file to tell you the commands/syntax. Also, it's the actual math engine Matlab uses (or was back in my college days of 06-10). |
|
Quoted:
MATLAB is dumb. Maple is moar better. As long as you have #learnedtocode. Seriously, it's like a programming language specifically for high-level math. All you need is the help file to tell you the commands/syntax. Also, it's the actual math engine Matlab uses (or was back in my college days of 06-10). View Quote |
|
Quoted:
There are numerous MATLAB handbooks running around at many different levels. Find an introductory level one and read it, mark it up (highlighter and tabs), and have it with you when writing programs. Like almost any computer smaller programs allow you to get started on simple problems. I/O has always been a PITA when learning a new language. Getting output in a form that is human readable often takes some nasty detail work. Just use simple output formats to start. A guy I was working with was running out of 'CPU time' every time he ran his 'Root Search' program. 15 seconds on an IBM370 is a LOT of calculations. He found the negative roots but than always ran out of time. He put a print command inside the inner loop of the search program. One line of 140 column wide output. He printed almost a whole box of 140 column paper with his next run. A pile at least 14 inches deep on that thin paper. The old stuff with the green and white pattern on it. As the line printer spewed pages he cam and asked me to look at it. I glanced at the page a few inches into the pile. I then looked at his FORTRAN program. He had exponentiated a variable and did not realize FORTRAN uses the absolute value of any number when exponentiating it. When his search increment straddled x=0 the positive side was correct. The negative side (x<0) was wrong. So his program sat there and could not find the root the 'change in sign' of the result indicated was present. And his actual negative roots all where wrong. The prof had carefully structured the problem to catch anyone that forget that x^n is actually abs(x)^n. You add an extra variable that takes care of exponentiating negative number to odd powers to take care of the loss of sign. View Quote |
|
Quoted:
Nerd. View Quote BS EE, PhD EE, PE. Never bothered applying for an MSEE though I had more than enough credits for it. Three patents so important to EW, Digital Signal Processing, and precise synchronization of oscillators. The patents themselves expired a few years ago (20 years). They remain under 50 year secrecy orders. MATLAB is optimized to try and allow very fast programs to be developed and executed. By using a vector math based system the execution speeds that can be achieved are very high. It was like when an 'interpreted 'C' language came out. Compiled 'C' could be optimized far more efficiently. But if speed is not an important part of your needs the 'interpreted' languages can work adequately. |
|
Matlab had a pretty robust help file from what I remember ... almost two decades ago. There are LOTS of $20 range tutorial books on Amazon plus youtube videos to get you started. It is exceptionally powerful.
|
|
Quoted: Matlab had a pretty robust help file from what I remember ... almost two decades ago. There are LOTS of $20 range tutorial books on Amazon plus youtube videos to get you started. It is exceptionally powerful. View Quote We used it for active EW calculations. When optimized and compiled it can run very fast even on larger arrays. Or you can use an array computer architecture with lager number of processors and multi-port memories to speed up moving partially processed data around. A separate group of processors is used just for I/O after partial processing of the data. A asynchronous dual port memory (or even more ports) that allows direct access of actual memory cells from a pair of ports with no HW contention is a powerful way to speed things up. It is left up to the designer of the HW and SW to avoid simultaneous writes and read/writes at the same address. |
|
Is this similar to Mathcad?
I don't even know what it's for but I see it on the install of PTC Creo |
|
|
I learned to use MATLAB while working in a research lab. Like everything else, the best way to learn it is to just do it. There's plenty of resources as it's been around now for a while. Good luck.
FWIW I have access to MATLAB at work, but do everything I need in R studio. MATLAB is might be something you learn and never use again... |
|
Quoted:
I learned to use MATLAB while working in a research lab. Like everything else, the best way to learn it is to just do it. There's plenty of resources as it's been around now for a while. Good luck. FWIW I have access to MATLAB at work, but do everything I need in R studio. MATLAB is might be something you learn and never use again... View Quote Although from my friends in imaging labs, I think MatLab is still king. |
|
Quoted:
Although from my friends in imaging labs, I think MatLab is still king. View Quote There are many entry points into MatLab depending on the performance needed for an application. We used to reduce some things all the way to FPGAs (Xilinx) and run applications in custom hardware. |
|
I used Matlabs help for most things. Google for specifics. For example: "Matlab for loop" or "how to index an array".
There was something in the Mathworks website that did "from the ground up" but in my time as a EE undergrad there was not enough time in the day to do that AND all my courses. I stopped after the first ten or so ?? YouTube has a crap ton of info and eventually I got the hang of it. **Disclaimer: not a professional Matlaber or Simulinker Good luck |
|
I recently started grad school in EE and have to use Matlab+Python in about every course. I haven't had to look at matlab in about 10 years.
Udemy courses have helped me get back into it, wait until they're in the 11.99 - 9.99 price range. Also, I've read a lot of the matlab documentation and they have a ton of examples for every function in matlab. |
|
Udemy, the place that always has "$200 courses" discounted to $15? That was a good course? I'll keep it in mind, that huge permanent discount marketing scheme always screams like a dishonest scam to me.
Taking a course in Matlab now, the textbook is way more clear and user friendly then my last one. |
|
Quoted:
Udemy, the place that always has "$200 courses" discounted to $15? That was a good course? I'll keep it in mind, that huge permanent discount marketing scheme always screams like a dishonest scam to me. Taking a course in Matlab now, the textbook is way more clear and user friendly then my last one. View Quote Also look at the reviews of the courses, watch some of the previews of the videos to see how the teacher sounds, and if you like their teaching style. |
|
you probably already know this, but just in case..
Octave is the open source alternative to Matlab. They are mostly source-code compatible. So most of the examples you can run on Matlab will also work on Octave. Octave has of course, a number of tutorials, books, etc https://www.youtube.com/watch?v=Qyf7tLc6RzQ http://www.wcc.vccs.edu/sites/default/files/Introduction-to-GNU-Octave.pdf Since it is free, you can install octave on your personal computer and go from there (using it locally) (or use Octave online) |
|
Quoted:
you probably already know this, but just in case.. Octave is the open source alternative to Matlab. They are mostly source-code compatible. So most of the examples you can run on Matlab will also work on Octave. Octave has of course, a number of tutorials, books, etc https://www.youtube.com/watch?v=Qyf7tLc6RzQ http://www.wcc.vccs.edu/sites/default/files/Introduction-to-GNU-Octave.pdf Since it is free, you can install octave on your personal computer and go from there (using it locally) (or use Octave online) View Quote speed of a compiled language. There are still plenty of applications (often with VERY large data sets) that require absolute 'balls-to-the wall' speed. When you have to start using hundreds or thousands (even millions in some cases) of CPUs to get answers in reasonable times it takes a lot of skill to create SW that can use the resources available. We had 'pizza box farms' that occupied hanger size buildings with many many tons of cooling. One of them had a staff of over 600 people just to keep all the computers operating for 3 shits a day. |
|
It is true that since 2015 Matlab aquired a JIT (just-in-time) compiler
before 2015 it was an interpreter (that's from 1985 to 2015... 30 years) https://de.mathworks.com/matlabcentral/answers/257393-is-matlab-interpreter-or-compiler Python (which is interpreted) runs data science today. Reason why interpreter vs compiler is unlikely to be relevant for OPs needs are multifold: a) an undergrad student running lab/test examples will not require a server farm (or even a dedicated workstation). OP was looking for introductiory materials on the language, and with a few exceptions Octave is a good alternative to Matlab for that. b) Many mathematical packages (for Octave, or Python or MATLAB) are written in C, Fortran or C++ and are integrated as precompiled libraries Those libraries execute as native machine code, and not within interpreter So 'never have the raw speed of compiled language' statement, I think, would have to be much more nuanced. Quoted: "Octave interpreter " means it will never have the raw speed of a compiled language. There are still plenty of applications (often with VERY large data sets) that require absolute 'balls-to-the wall' speed. .... View Quote |
|
"It is true that since 2015 Matlab aquired a JIT (just-in-time) compiler
before 2015 it was an interpreter (that's from 1985 to 2015... 30 years)" The source of that answer is full of it. MATLAB has always had a way to compile into executable files. We used it for many many years in that form. Classified equipment and software often must operate with bare bones memory. Nothing is allowed that is not required for the application. Back when an 8k x 8 SRAM was as large as you could obtain, and processors had no more than 20 MHz clocks we ran compiled MATLAB algorithms in real time for EW equipment. ETA: We also had to pay a rather largish annual fee as an industrial/business user. At one point is was over $200k per year for unlimited use. |
|
Matlab itself is the best help book you could ever find.
In the help section, it explains everything in detail. And for every bit of code, it provides multiple examples of how to use it in code. It even has a beginners section with lessons on how to code and use Matlab. It's an outstanding example of how a help section should be written. Matlab also hosts a file exchange. User generated code and programs. You can search on there for examples of what you are trying to do. Books on Matlab will be trash compared to Matlab own very extensive, user friendly, built in help. |
|
Quoted:
Books on Matlab will be trash compared to Matlab own very extensive, user friendly, built in help. View Quote It does have some idiosyncrasies, mainly to maintain at least some backward compatibility. It has 'broken' compatibility a couple times over the years. We had to 'adjust' old programs we still needed to make continue using. Think of it as a 'Full Employment Act' for users. Even after I left a place I worked for 20 years I would get consulting contracts to repair problems. They finally stopped after about 10 years when they had enough folks that understood how the old stuff worked. They had all the documentation they needed, but did not want to pay anyone to read it. I know they had it since I wrote it, and would make them produce it before I would bid on any work. As in have me visit and examine it. |
|
I've been using MATLAB for work for 15 years. Taught myself. But occasionally I'll still learning new things I didn't know before.
A book would help, but there's no substitute for just finding something mathematical you want to code and diving in. |
|
Check out edX.org they have several online Matlab and Octave classes.
|
|
Google and YouTube are the best resources.
Search "how do I do X in Matlab" Once you start to work with it it gets easier. For my thesis I had to multiply a 12 x 2M matrix by constants and a 1 x 2M normalizing function with Fourier transformations, then convert the 2D matrix into 3D by combing three of the 1 x 2M matrices into a 3D matrix, then beamforming the three resultant 3D matrices into a single 3D function and plot the vectors over time. I learned all of that through the internal help function, Google and YouTube. |
|
Quoted: I've been using MATLAB for work for 15 years. Taught myself. But occasionally I'll still learning new things I didn't know before. A book would help, but there's no substitute for just finding something mathematical you want to code and diving in. View Quote Used it for many years. Never had any formal training. Doing real time FFT processing and digital signal processing on live signals puts a real premium on execution speed. When your are designing Radar warning receivers for military applications it has to work every timer and FAST. When your plane gets lit up by a tracking radar 'Time is of the essence.' Search radars can tell your opponent where you are, but tracking radars mean a missile is being prepared for you. Missile radars are normally much higher in frequcny since missile rarely can't use a large antenna. Though we do have some other anti signal missiles that use arrays of arrays of linear antennas on the length of the missile. They look like raised seams running the length of the missile. makes it possible to target lower frequency (longer wavelength) signal sources. |
|
|
Quoted: The nerdiest. BS EE, PhD EE, PE. Never bothered applying for an MSEE though I had more than enough credits for it. Three patents so important to EW, Digital Signal Processing, and precise synchronization of oscillators. The patents themselves expired a few years ago (20 years). They remain under 50 year secrecy orders. MATLAB is optimized to try and allow very fast programs to be developed and executed. By using a vector math based system the execution speeds that can be achieved are very high. It was like when an 'interpreted 'C' language came out. Compiled 'C' could be optimized far more efficiently. But if speed is not an important part of your needs the 'interpreted' languages can work adequately. View Quote Buddy!!!! let’s talk nonlinear sampling FFT. Just kidding, it’s been 30 years and I prob can’t even do a continuous convolution calculation any more. TOUGHEST DEGREES IN THE WORLD. 1. Phd. Physics 2. Phd. EE Finally met one like me on this forum! I now concentrate on the big picture and let others run the MathLab models. |
|
Busted. My personal focus was information and communication technologies, but for 25 years I worked for an organization with which you are very, very familiar. I first worked in, and then ran, an R&D group that became recognized as one of their core strategic strengths. Then they started flying me around the world liaising and helping to develop technologies on a global scale, "for the benefit of humanity." It was a hell of a ride. I learned a lot along the way -- I have described the experience many times as drinking from several firehoses -- and I like to think the things I did mattered. Now I dabble with theoretical neuroscience, garden, and consult. One of my daughters -- she has a PhD in mechanical engineering -- is the MATLAB expert in the family. |
|
Quoted: Busted. My personal focus was information and communication technologies, but for 25 years I worked for an organization with which you are very, very familiar. I first worked in, and then ran, an R&D group that became recognized as one of their core strategic strengths. Then they started flying me around the world liaising and helping to develop technologies on a global scale, "for the benefit of humanity." It was a hell of a ride. I learned a lot along the way -- I have described the experience many times as drinking from several firehoses -- and I like to think the things I did mattered. Now I dabble with theoretical neuroscience, garden, and consult. One of my daughters -- she has a PhD in mechanical engineering -- is the MATLAB expert in the family. View Quote ?? Nah, there’s no such agency |
|
LOL, old thread.
Anyone know someone currently using this for design or testing? |
|
Sign up for the ARFCOM weekly newsletter and be entered to win a free ARFCOM membership. One new winner* is announced every week!
You will receive an email every Friday morning featuring the latest chatter from the hottest topics, breaking news surrounding legislation, as well as exclusive deals only available to ARFCOM email subscribers.
AR15.COM is the world's largest firearm community and is a gathering place for firearm enthusiasts of all types.
From hunters and military members, to competition shooters and general firearm enthusiasts, we welcome anyone who values and respects the way of the firearm.
Subscribe to our monthly Newsletter to receive firearm news, product discounts from your favorite Industry Partners, and more.
Copyright © 1996-2024 AR15.COM LLC. All Rights Reserved.
Any use of this content without express written consent is prohibited.
AR15.Com reserves the right to overwrite or replace any affiliate, commercial, or monetizable links, posted by users, with our own.