This book is a comprehensive practical introduction to MATLAB programming language and development environment that covers basic and advanced tools and techniques in math, technology and engineering applications. The author offers a wealth of close to ten years of experience with MATLAB to help computer science and engineering students rapidly develop and test their projects. The style of this book is a walk-through learning strategy where, every lesson learned will be practically demonstrated with open source code provided as well.
Inhaltsverzeichnis (Table of Contents)
- CH I - MATLAB BASICS
- 1.1 MAIN COMPONENTS
- 1.1.1 Command Window
- 1.1.2 Command History
- 1.1.3 Workspace Window
- 1.1.4 Help and Documentation
- 1.2 SCALAR ARITHMETIC OPERATIONS
- 1.3 RELATIONAL OPERATORS
- 1.4 LOGICAL OPERATIONS
- 1.5 BIT OPERATIONS
- 1.6 NUMERAL SYSTEMS
- 1.7 MATHEMATICAL FUNCTIONS
- 1.8 DEFINING FUNCTIONS IN WORKSPACE
- CH II - VARIABLES AND DATA TYPES
- 2.1 SCALAR VARIABLES
- 2.2 DATA TYPES
- 2.3 MULTI-DIMENSIONAL VARIABLES
- 2.3.1 DEFINING AND INITIALIZING MATRICES
- 2.3.2 MATRIX INDEXING
- 2.4 STRUCTURES AND CELL ARRAYS
- CH III - OPERATIONS ON MULTI-DIMENSIONAL VARIABLES
- 3.1 MATRIX ARITHMETIC’S
- 3.2 GENERAL MATRIX OPERATIONS
- 3.3 SOLVING SYSTEM OF LINEAR EQUATIONS
- 3.4 STATISTICAL MATRIX OPERATIONS
- CH IV – PLOTTING
- 4.1. PLOTTING BASICS
- 4.2 EDITING PLOTS USING GUI
- 4.3 PLOT TYPES
- CH V - ADVANCED PLOTTING
- 5.1: Subplots
- 5.2: Plotting Mathematical Function (1)
- 5.3: Plotting Mathematical Function (2)
- 5.4: Plotting Mathematical Function (3)
- 5.5: 3D Plotting (1)
- 5.6: 3D Plotting (2)
- 5.6: 3D Plotting (3)
- 5.7: 3D Plotting (4)
- 5.8: Polar Plot
- 5.9: meshgrid and ezmesh
- 5.10: Bar Plot with Color Mapping
- 5.11: 3D Stem Plot
- 5.12: 3D Histogram
- 5.13: Pie Chart 2D and 3D
- 5.14: SemilogY Plot
- 5.15: SemilogX Plot
- 5.16: 3D Surface Plot
- 5.17: Contour Plot
- 5.18: EZSurf and EZContour Plot
- 5.19: ContourF and EZContourF Plot
- 5.20: Error Bar Plot
- 5.21: Plotmatrix
- 5.22: Signal Plotting
- 5.23: Setting Plot Properties Programatically
- CH VI - SYMBOLIC MATHEMATICS
- 6.1: Defining Symbols
- 6.2: Defining Symbolic Functions
- 6.3: Differentiation and Integration of Symbolic Functions (1)
- 6.4: Differentiation and Integration of Symbolic Functions (2)
- 6.5: Limits of Symbolic Functions
- 6.6: Symbolic Functions Algebra
- 6.7: Polynomials Special Operations
- CH VII - PROGRAMMING I - SCRIPT FILES
- CH VIII - PROGRAMMING II – FUNCTIONS
- CH IX - PROGRAMMING III – FLOW CONTROL
- 9.1: IF Statement (1)
- 9.2: IF Statement (2)
- 9.3: IF Statement (3)
- 9.4: SWITCH Statement (1)
- 9.5: FOR Loop (1)
- 9.6: FOR Loop (2)
- 9.7: FOR Loop (Nested Loops-1)
- 9.8: FOR Loop (Nested Loops-2)
- 9.9: WHILE Loop (1)
- 9.10: WHILE Loop (2)
- CH X - STRINGS, INPUT/OUTPUT AND FILE OPERATIONS
- CH XI - BASIC GRAPHICAL USER INTERFACE (GUI – I)
- 11.1: Menu GUI
- 11.2: inputdlg - Input Dialog
- 11.3: msgbox – Message Box
- 11.4: listdlg – List Dialog
- 11.5: Other GUI Components
- CH XII - ADVANCED GRAPHICAL USER INTERFACE (GUI – II)
- 12.1: RUNNING GUIDE
- 12.2: BUTTON
- 12.3: SLIDER
- CH XIII - APPLICATIONS I - SIGNAL PROCESSING
- 13.1: Signal Simulation
- 13.2: Fast Fourier Transform (FFT)
- 13.3: Moving Average Filter
- 13.4: Zero-Pahse Filter
- 13.5: FFT-Based Filters Using butter
- 13.6: Sensor Detection Signal Simulation
- 13.7: Signal Resampling
- 13.8: Descrete Cosine Transform
- 13.9: FFT-Based Filtering Using FFT Directly
- 13.10: Signal Filtering Using “smooth” function (a moving average technique)
- CH XIV - APPLICATIONS II - IMAGE PROCESSING
- 14.1: Reading and Viewing Images
- 14.1: Accessing Image Structure
- 14.2: Image Noise Filtering
- 14.3: Edge Operators
- 14.4: Color Filter
- 14.5: Object Properties
- CH XV - APPLICATIONS III – CLUSTERING AND CLASSIFICATION
- 15.1: Template Matching
- 15.2: K-Means Clustering and Classification
- 15.3: Artificial Neural Networks (ANNs)
- 15.4: Probabilistic Classification
Zielsetzung und Themenschwerpunkte (Objectives and Key Themes)
This book serves as a comprehensive, practical guide to MATLAB programming, tailored for computer science and engineering students. Its objective is to equip students with the necessary knowledge and skills to effectively develop and test their projects using MATLAB's extensive tools and techniques. The book employs a walk-through learning strategy, where each lesson is practically demonstrated through open-source code examples.
- Understanding the MATLAB development environment
- Mastering fundamental and advanced programming concepts in MATLAB
- Exploring MATLAB's capabilities in mathematical, technological, and engineering applications
- Developing practical proficiency in MATLAB programming through hands-on examples
- Gaining insights into real-world applications of MATLAB in various domains, including signal and image processing.
Zusammenfassung der Kapitel (Chapter Summaries)
Chapter I provides a thorough introduction to the MATLAB development environment, covering key components like the command window, command history, workspace, and documentation. It explores basic arithmetic and logical operations, along with data types and how to manipulate multi-dimensional variables. Chapter II focuses on the input and output aspects of MATLAB programming, detailing variables, data types, and multi-dimensional variable management. Chapter III delves into operations on multi-dimensional variables, including matrix arithmetic, general matrix operations, and solving systems of linear equations. Chapter IV introduces the fundamental concepts of data visualization in MATLAB, covering basic plotting techniques, editing plots using the GUI, and exploring various plot types. Chapter V expands on the advanced plotting capabilities of MATLAB, covering subplots, 3D plotting, meshgrid, and various specialized plot types. Chapter VI explores MATLAB's symbolic mathematics toolbox, demonstrating how to work with symbols, define symbolic functions, and perform symbolic differentiation and integration. Chapter VII introduces the concept of MATLAB script files and how to write basic script programs to automate repetitive tasks. Chapter VIII delves into MATLAB function programs, showcasing how functions can be defined, called, and used to organize and modularize code. Chapter IX explores flow control mechanisms in MATLAB, covering IF, FOR, WHILE, and SWITCH structures to control the flow of execution within programs. Chapter X focuses on string processing, input/output operations, and file management in MATLAB. It covers techniques for reading and writing data to text files, Excel files, and the file system in general. Chapter XI introduces basic graphical user interface (GUI) components, providing examples of how to create menus, input dialogs, message boxes, list dialogs, and other GUI elements to enhance user interaction. Chapter XII explores the development of GUI-based applications in MATLAB using the GUIDE environment, covering component design, event handling, and object interaction. Chapter XIII dives into applications of MATLAB in signal processing, covering signal simulation, the Fast Fourier Transform (FFT), moving average filtering, zero-phase filtering, FFT-based filters using butter, sensor detection signal simulation, signal resampling, and the Discrete Cosine Transform (DCT). Chapter XIV presents applications of MATLAB in image processing, covering image reading, viewing, accessing image structures, image noise filtering, edge detection, and color filtering. Chapter XV covers applications of MATLAB in clustering and classification, showcasing template matching, K-means clustering, artificial neural networks (ANNs), and probabilistic classification techniques.
Schlüsselwörter (Keywords)
The core focus of this book is MATLAB programming, encompassing essential concepts such as variables, data types, operators, functions, flow control, input/output, file operations, and GUI development. Key themes explored include signal processing, image processing, and machine intelligence applications like clustering and classification. Important topics within these fields include: Fast Fourier Transform (FFT), moving average filtering, zero-phase filtering, color filtering, connected components analysis, template matching, K-means clustering, artificial neural networks (ANNs), and Bayesian inference.
- Quote paper
- Aaron Rababaah (Author), 2018, Introduction to Matlab Programming with Applications, Munich, GRIN Verlag, https://www.grin.com/document/420539