MATLAB Programming for Biomedical Engineers and Scientists

MATLAB Programming for Biomedical Engineers and Scientists

2nd Edition - May 24, 2022

Write a review

  • Authors: Andrew King, Paul Aljabar
  • Paperback ISBN: 9780323857734
  • eBook ISBN: 9780323984577

Purchase options

Purchase options
In Stock
DRM-free (EPub, PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order

Description

MATLAB Programming for Biomedical Engineers and Scientists, Second Edition provides an easy-to-learn introduction to the fundamentals of computer programming in MATLAB. The book explains the principles of good programming practice, while also demonstrating how to write efficient and robust code that analyzes and visualizes biomedical data. Aimed at the biomedical engineering student, biomedical scientist and medical researcher with little or no computer programming experience, this is an excellent resource for learning the principles and practice of computer programming using MATLAB. The book enables the reader to analyze problems and apply structured design methods to produce elegant, efficient and well-structured program designs, implement a structured program design in MATLAB, write code that makes good use of MATLAB programming features, including control structures, functions and advanced data types, and much more.

Key Features

  • Presents many real-world biomedical problems and data, showing the practical application of programming concepts
  • Contains two whole chapters dedicated to the practicalities of designing and implementing more complex programs
  • Provides an accompanying website with freely available data and source code for the practical code examples, activities and exercises in the book
  • Includes new chapters on machine learning, engineering mathematics, and expanded coverage of data types

Readership

Navstem currently lists 32 schools in the US with MATLAB courses taught out of biomedical engineering departments. Several UK schools also teach a BME-specific programming course using MATLAB

Table of Contents

  • Cover image
  • Title page
  • Table of Contents
  • Copyright
  • Dedication
  • Quotes
  • About the authors
  • Preface
  • Aims and motivation
  • Learning objectives
  • What's new in the second edition?
  • How to use this book
  • Acknowledgments
  • References
  • Chapter 1: Introduction to computer programming and MATLAB®
  • 1.1. Introduction
  • 1.2. Computers and computer programming
  • 1.3. MATLAB
  • 1.4. The MATLAB environment
  • 1.5. Help
  • 1.6. Variables, arrays, and simple operations
  • 1.7. Matrices
  • 1.8. Data types
  • 1.9. Loading and saving data
  • 1.10. Visualizing data
  • 1.11. Curve fitting
  • 1.12. MATLAB scripts
  • 1.13. Comments
  • 1.14. Debugging
  • 1.15. Summary
  • 1.16. Further resources
  • 1.17. Exercises
  • References
  • Chapter 2: Control structures
  • 2.1. Introduction
  • 2.2. Conditional Image 1 statements
  • 2.3. Comparison/logical operators
  • 2.4. Conditional Image 2 statements
  • 2.5. Iteration: Image 3 loops
  • 2.6. Iteration: Image 4 loops
  • 2.7. A note about efficiency
  • 2.8. Image 5 and Image 6
  • 2.9. Nesting control structures
  • 2.10. Summary
  • 2.11. Further resources
  • 2.12. Exercises
  • References
  • Chapter 3: Basic data types
  • 3.1. Introduction
  • 3.2. What is a data type?
  • 3.3. Numeric types
  • 3.4. The Boolean data type
  • 3.5. Characters and character arrays
  • 3.6. Identifying the type of a variable
  • 3.7. Converting between types
  • 3.8. Summary
  • 3.9. Further resources
  • 3.10. Exercises
  • Chapter 4: Functions
  • 4.1. Introduction
  • 4.2. Functions
  • 4.3. Checking for errors
  • 4.4. Function m-files and script m-files
  • 4.5. The Image 70 keyword
  • 4.6. A function m-file can contain more than one function
  • 4.7. Script m-files and functions
  • 4.8. m-files and the MATLAB search path
  • 4.9. Naming rules
  • 4.10. Scope of variables
  • 4.11. Recursion: a function calling itself
  • 4.12. Summary
  • 4.13. Further resources
  • 4.14. Exercises
  • References
  • Chapter 5: Program development and testing
  • 5.1. Introduction
  • 5.2. Incremental development
  • 5.3. Are we finished? Validating user input
  • 5.4. Debugging a function
  • 5.5. Common reasons for errors when running a script or a function
  • 5.6. Error handling
  • 5.7. Summary
  • 5.8. Further resources
  • 5.9. Exercises
  • References
  • Chapter 6: Advanced data types
  • 6.1. Introduction
  • 6.2. Cells and cell arrays
  • 6.3. Structures
  • 6.4. Categorical arrays
  • 6.5. Tables
  • 6.6. Maps
  • 6.7. Conversion of advanced data types
  • 6.8. Summary
  • 6.9. Further resources
  • 6.10. Exercises
  • Chapter 7: File input/output
  • 7.1. Introduction
  • 7.2. Recap on basic input/output functions
  • 7.3. Simple functions for dealing with text files
  • 7.4. Reading from files
  • 7.5. Writing to files
  • 7.6. Summary
  • 7.7. Further resources
  • 7.8. Exercises
  • Chapter 8: Program design
  • 8.1. Introduction
  • 8.2. Top-down design
  • 8.3. Bottom-up design
  • 8.4. A combined approach
  • 8.5. Alternative design approaches
  • 8.6. Summary
  • 8.7. Further resources
  • 8.8. Exercises
  • Chapter 9: Visualization
  • 9.1. Introduction
  • 9.2. Visualization
  • 9.3. Summary
  • 9.4. Further resources
  • 9.5. Exercises
  • Chapter 10: Code efficiency
  • 10.1. Introduction
  • 10.2. Time and memory efficiency
  • 10.3. Tips for improving time-efficiency
  • 10.4. Recursive and dynamic programming
  • 10.5. Dynamic programming to improve performance
  • 10.6. Summary
  • 10.7. Further resources
  • 10.8. Exercises
  • References
  • Chapter 11: Signal and image processing
  • 11.1. Introduction
  • 11.2. Storing and reading 1-D signals
  • 11.3. Processing 1-D signals
  • 11.4. Convolution
  • 11.5. Storing and reading image data
  • 11.6. Accessing images in MATLAB
  • 11.7. Image processing
  • 11.8. Image filtering
  • 11.9. Summary
  • 11.10. Further resources
  • 11.11. Exercises
  • Chapter 12: Graphical user interfaces
  • 12.1. Introduction
  • 12.2. Building a graphical user interface in MATLAB
  • 12.3. Building an app: recap
  • 12.4. An app for image processing
  • 12.5. Summary
  • 12.6. Further resources
  • 12.7. Exercises
  • Chapter 13: Statistics
  • 13.1. Introduction
  • 13.2. Descriptive statistics
  • 13.3. Inferential statistics
  • 13.4. Summary
  • 13.5. Further resources
  • 13.6. Exercises
  • References
  • Chapter 14: Machine learning
  • 14.1. Introduction
  • 14.2. Artificial intelligence, machine learning, and deep learning
  • 14.3. Types of machine learning
  • 14.4. Evaluating machine learning models
  • 14.5. Overfitting and underfitting
  • 14.6. Unsupervised learning
  • 14.7. Supervised learning
  • 14.8. Deep learning
  • 14.9. Summary
  • 14.10. Further resources
  • 14.11. Exercises
  • References
  • Chapter 15: Engineering mathematics
  • 15.1. Introduction
  • 15.2. Scalars and vectors
  • 15.3. Complex numbers
  • 15.4. Matrices
  • 15.5. Calculus
  • 15.6. Differential equations
  • 15.7. Summary and further resources
  • 15.8. Exercises
  • References
  • References
  • References
  • Index

Product details

  • No. of pages: 464
  • Language: English
  • Copyright: © Academic Press 2022
  • Published: May 24, 2022
  • Imprint: Academic Press
  • Paperback ISBN: 9780323857734
  • eBook ISBN: 9780323984577

About the Authors

Andrew King

Dr King has over 20 years of experience of teaching computing courses at university level. He is currently a Reader in the Biomedical Engineering department at King's College London. With Paul Aljabar, he designed and developed the Computer Programming module for Biomedical Engineering students upon which this book was based. The module has been running since 2014 and Andrew still co-organises and teaches on it. Between 2001-2005, Andrew worked as an Assistant Professor in the Computer Science department at Mekelle University in Ethiopia, and was responsible for curriculum development, and design and delivery of a number of computing modules. Andrew's research interests focus mainly on the use of machine learning and artificial intelligence techniques to tackle problems in medical imaging, with a special focus on dynamic imaging data, i.e. moving organs (Google Scholar: https://goo.gl/ZZGrGr, group web site: http://kclmmag.org).

Affiliations and Expertise

Reader in Medical Image Analysis, School of Biomedical Engineering and Imaging Science, King's College London.

Paul Aljabar

Paul Aljabar is a mathematician who enjoys using computer programming to address health and biomedical problems. He taught high school mathematics in London for twelve years before taking up a research career. Since then, his work has focused on the analysis of large collections of medical images for a range of applications, for example in order to build anatomical atlases or distinguish normal from pathological physiology. As described above, Paul and Andrew developed this book and learning materials together while teaching Biomedical Engineering undergraduates. Paul has taught on a range of undergraduate and graduate programmes focusing on the analysis and interpretation of medical and biomedical data, carried out through modelling, programming, and the application of methods that are also used in his research (Google Scholar: https://goo.gl/jAgPru).

Affiliations and Expertise

Head of Imaging Science, Perspectum Ltd.

Ratings and Reviews

Write a review

There are currently no reviews for "MATLAB Programming for Biomedical Engineers and Scientists"