2 options
MATLAB programming for biomedical engineers and scientists / Andrew P. King, Paul Aljabar.
- Format:
- Book
- Author/Creator:
- King, Andrew P., author.
- Aljabar, Paul, author.
- Language:
- English
- Subjects (All):
- MATLAB.
- Numerical analysis--Data processing.
- Numerical analysis.
- Physical Description:
- 1 online resource (326 pages)
- Place of Publication:
- London, England : Academic Press, 2017.
- Summary:
- MATLAB Programming for Biomedical Engineers and Scientists provides an easy-to-learn introduction to the fundamentals of computer programming in MATLAB. This book explains the principles of good programming practice, while demonstrating how to write efficient and robust code that analyzes and visualizes biomedical data. Aimed at the biomedical engineer, biomedical scientist, and medical researcher with little or no computer programming experience, it is an excellent resource for learning the principles and practice of computer programming using MATLAB. This 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, making good use of incremental development approaches Write code that makes good use of MATLAB programming features, including control structures, functions and advanced data types Write MATLAB code to read in medical data from files and write data to files Write MATLAB code that is efficient and robust to errors in input data Write MATLAB code to analyze and visualize medical data, including imaging data Many real world biomedical problems and data show the practical application of programming concepts Two whole chapters dedicated to the practicalities of designing and implementing more complex programs An accompanying website containing freely available data and source code for the practical code examples, activities, and exercises in the book For instructors, there are extra teaching materials including a complete set of slides, notes for a course based on the book, and course work suggestions
- Contents:
- Front Cover
- MATLAB® Programming for Biomedical Engineers and Scientists
- Copyright
- Dedication
- Contents
- About the Authors
- Preface
- Aims and Motivation
- Learning Objectives
- How to Use This Book
- Acknowledgments
- 1 Introduction to Computer Programming and MATLAB
- 1.1 Introduction
- 1.1.1 Computer Programming
- 1.1.2 MATLAB
- 1.2 The MATLAB Environment
- 1.3 Help
- 1.4 Variables, Arrays and Simple Operations
- 1.5 Data Types
- 1.6 Loading and Saving Data
- 1.7 Visualizing Data
- 1.8 Curve Fitting
- 1.9 Matrices
- 1.10 MATLAB Scripts
- 1.11 Comments
- 1.12 Debugging
- 1.12.1 MATLAB Debugger
- 1.12.2 MATLAB Code Analyzer
- 1.13 Summary
- 1.14 Further Resources
- Exercises
- 2 Control Structures
- 2.1 Introduction
- 2.2 Conditional if Statements
- 2.3 Comparison/Logical Operators
- 2.4 Conditional switch Statements
- 2.5 Iteration: for Loops
- 2.6 Iteration: while Loops
- 2.7 A Note about Ef ciency
- 2.8 break and continue
- 2.9 Nesting Control Structures
- 2.10 Summary
- 2.11 Further Resources
- 3 Functions
- 3.1 Introduction
- 3.2 Functions
- 3.3 Checking for Errors
- 3.4 Function m-Files and Script m-Files
- 3.5 A Function m-File Can Contain More than One Function
- 3.6 A Script m-File Cannot Also Include Functions
- 3.7 m-Files and the MATLAB Search Path
- 3.8 Naming Rules
- 3.9 Scope of Variables
- Be Careful About Script m-Files and Scope
- 3.10 Recursion: A Function Calling Itself
- 3.11 Summary
- 3.12 Further Resources
- 4 Program Development and Testing
- 4.1 Introduction
- 4.2 Incremental Development
- 4.3 Are We Finished? Validating User Input
- 4.4 Debugging a Function
- 4.5 Common Reasons for Errors when Running a Script or a Function
- 4.6 Error Handling
- 4.6.1 The error and warning Functions
- 4.6.2 The try and catch Method.
- 4.7 Summary
- 4.8 Further Resources
- 5 Data Types
- 5.1 Introduction
- 5.2 Numeric Types
- 5.2.1 Precision for Non-Integer (Floating Point) Numeric Types
- 5.2.2 MATLAB Defaults to Double Precision for Numbers
- 5.2.3 How Does MATLAB Display Numeric Values by Default?
- 5.2.4 Take Care when Working with Numeric Types Other than Doubles
- 5.2.5 Ranges of Numeric Types
- 5.3 In nity and NaN (Not a Number)
- 5.4 Characters and Strings
- 5.5 Identifying the Type of a Variable
- 5.6 The Boolean Data Type
- 5.7 Cells and Cell Arrays
- 5.7.1 Cell Arrays Can Contain Mixed Data Types
- 5.7.2 The Different Kinds of Bracket: Recap
- 5.8 Converting Between Types
- 5.8.1 Converting Between a Number and a Character
- 5.8.2 Converting Between a Number and a Logical Type
- 5.8.3 Converting Arrays
- 5.9 The Structure Data Type
- 5.10 Summary
- 5.11 Further Resources
- 6 File Input/Output
- 6.1 Introduction
- 6.2 Recap on Basic Input/Output Functions
- 6.3 Simple Functions for Dealing with Text Files
- 6.4 Reading from Files
- 6.5 Writing to Files
- 6.6 Summary
- 6.7 Further Resources
- 7 Program Design
- 7.1 Introduction
- 7.2 Top-Down Design
- Step 1 - First Level Factoring
- Step 2 - Further Factoring
- Step 3 - Further Factoring
- Step 4 - Write Pseudocode
- 7.2.1 Incremental Development and Test Stubs
- 7.3 Bottom-Up Design
- 7.4 A Combined Approach
- 7.5 Alternative Design Approaches
- 7.6 Summary
- 7.7 Further Resources
- 8 Visualization
- 8.1 Introduction
- 8.2 Visualization
- 8.2.1 Visualizing Multiple Datasets
- 8.2.2 3-D Plotting
- 8.2.3 The meshgrid Command
- 8.2.4 Imaging Data
- 8.3 Summary
- 8.4 Further Resources
- 9 Code Ef ciency
- 9.1 Introduction
- 9.2 Time and Memory Ef ciency
- 9.2.1 Timing Commands in MATLAB.
- 9.2.2 Assessing Memory Ef ciency
- 9.3 Tips for Improving Time Ef ciency
- 9.3.1 Pre-Allocating Arrays
- 9.3.2 Avoiding Loops
- 9.3.3 Logical Indexing
- 9.3.4 A Few More Tips for Ef cient Code
- 9.4 Recursive and Dynamic Programming
- 9.4.1 A Note on the Depth of Recursive Function Calls
- 9.5 Dynamic Programming to Improve Performance
- 9.6 Summary
- 9.7 Further Resources
- 10 Signal and Image Processing
- 10.1 Introduction
- 10.2 Storing and Reading 1-D Signals
- 10.3 Processing 1-D Signals
- 10.4 Convolution
- 10.4.1 Convolution: More Detail
- 10.5 Image Data: Storing and Reading
- 10.6 Accessing Images in MATLAB
- 10.6.1 Color Versus Gray Scale Images
- 10.6.2 Getting Information About an Image
- 10.6.3 Viewing an Image
- 10.6.4 Accessing the Pixel Data for an Image
- 10.6.5 Viewing and Saving a Sub-Region of an Image
- 10.7 Image Processing
- 10.7.1 Binarizing a Gray Scale Image and Saving the Result
- 10.7.2 Threshold-Based Operations
- 10.7.3 Chaining Operations
- 10.7.4 Image Data Type, Value Range, and Display
- 10.8 Image Filtering
- 10.8.1 The Mean Filtering Operation
- 10.8.2 The Actual Filter Used
- 10.8.3 Applying a Filter in MATLAB
- 10.8.4 Filtering and Convolution
- 10.9 Summary
- 10.10 Further Resources
- 11 Graphical User Interfaces
- 11.1 Introduction
- 11.2 Graphical User Interfaces in MATLAB
- 11.2.1 Building a GUI with the Guide Tool
- 11.2.2 Controlling Components: Events and Callback Functions
- 11.2.3 Maintaining State and Avoiding Duplicated Code
- 11.2.4 Tidying Up
- 11.3 Handles
- 11.4 Summary
- 11.5 Further Resources
- 12 Statistics
- 12.1 Introduction
- 12.2 Descriptive Statistics
- 12.2.1 Univariate Data
- 12.2.2 Bivariate Data
- 12.3 Inferential Statistics
- 12.3.1 Testing the Distributions of Data Samples.
- 12.3.2 Comparing Data Samples
- 12.4 Summary
- 12.5 Further Resources
- References
- Index
- Back Cover.
- Notes:
- Includes bibliographical references and index.
- Description based on online resource; title from PDF title page (ebrary, viewed July 15, 2017).
- ISBN:
- 0-12-813510-7
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.