Introduction
Since its invention in the 1980s, MATLAB has developed from a special-purpose package for performing linear algebra computations into a powerful, general-purpose programming language. Today it is one of the mostly widely used languages for engineering computation in both academia and industry. Its ease of use and extensive built-in capabilities for numerical computing, data analysis and visualization make it a natural choice for engineers and scientists who want to make the most of their computing capabilities without becoming computer scientists.
This book presents the core concepts of computer programming in the context of the MATLAB language and it application to problems of interest to engineers. While the primary focus is on universal programming concepts like branching, looping, and data structures, there is also significant emphasis on MATLAB’s particular capabilities for manipulating and analyzing data arrays efficiently. There is also a chapter on Graphical User Interface programming using App Designer. The final chapter deals with some of the built-in functions for performing everyday engineering computations with a minimum of programming – curve fitting, interpolation, systems of linear equations, ordinary differential equations, and optimization.
Using this Book
This book was created for use in a second-level course for engineering majors at The Ohio State University. While it was intended for students with some prior exposure to MATLAB, it is suitable for beginners as well. Readers with absolutely no prior MATLAB exposure may want to complete the MATLAB Onramp (a 2-hour introductory tutorial) from Mathworks prior to tackling this book. The e-book contains several types of interactive resources in addition to text. They include:
- Downloadable pdf files for longer worked examples
- Checkpoint questions, including multiple choice, fill-in-the-blanks, numerical answers, and Parsons problems (place the code pieces in the correct order)
- Lecture videos – these were recorded from a live online class during the COVID year, 2020-2021. Consequently they are not as polished or highly produced as those you might find in a “canned” online course. There may be occasional Ohio State-specific references (for example “1181” refers to ENGR 1181 Fundamentals of Engineering 1, the course in which OSU students get their first exposure to MATLAB)
- Live script files containing the code examples that are covered in the videos. You are encouraged to download the live scripts and follow along with lecture, just as the in-class students did.
- Simplified Powerpoint-style presentations
Ultimately, every reader will decide the best use of these resources. Our recommendation to start is: skim the text, try the checkpoint questions, then watch the lecture videos for further explanation as needed. And of course, try some of the problems at the end of the chapter.
Appendix A contains some more complex problems that have been assigned as final projects or application assignments, along with bare-bones solutions. You are encouraged to try one or more of them and improve on the provided solution by, for example, adding a graphical user interface.
Acknowledgement
This work was supported in part by the Affordable Learning Exchange at The Ohio State University.
Find an error? Have a suggestion for improvement? Please submit this survey.