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.
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
CH VI - SYMBOLIC MATHEMATICS
CH VII - PROGRAMMING I - SCRIPT FILES
CH VIII - PROGRAMMING II - FUNCTIONS
CH IX - PROGRAMMING III - FLOW CONTROL
CH X - STRINGS, INPUT/OUTPUT AND FILE OPERATIONS
CH XI - BASIC GRAPHICAL USER INTERFACE (GUI - I)
CH XII - ADVANCED GRAPHICAL USER INTERFACE (GUI - II)
12.1 RUNNING GUIDE
12.2 BUTTON
12.3 SLIDER
CH XIII - APPLICATIONS I - SIGNAL PROCESSING
CH XIV - APPLICATIONS II - IMAGE PROCESSING
CH XV - APPLICATIONS III - CLUSTERING AND CLASSIFICATION
Objectives & Topics
This book provides a comprehensive, practical introduction to MATLAB programming and its development environment, focusing on helping computer science and engineering students rapidly develop and test projects using a walk-through learning strategy.
- Fundamentals of the MATLAB Integrated Development Environment (IDE)
- Data types, variable management, and multi-dimensional matrices
- Effective data visualization and plotting techniques
- Script files, function definition, and program flow control
- Input/Output operations, file management, and GUI development
- Practical application examples in signal and image processing
Auszug aus dem Buch
1.1.1 Command Window
This is the main and most important window that allows users/programmers to interact with the MATLAB. It is a command line based interactive tool where, the user types a command followed by arguments (if required) and then see the results on the same screen right after the command. We will demonstrate this procedure with few examples that you should try on your own. All examples in this book will be systematically formatted. They will be placed in a frame, labeled with an appropriate caption; the text needed by the user is highlighted with a blue color, the results are provided in black color and the lines of the example is numbered so we can explain each line separately.
Summary of Chapters
CH I - MATLAB BASICS: This chapter introduces the MATLAB integrated development environment, including windows, commands, and basic arithmetic and relational operators.
CH II - VARIABLES AND DATA TYPES: This chapter covers the different types of scalar variables and multi-dimensional data structures used in MATLAB, along with techniques for matrix initialization and indexing.
CH III - OPERATIONS ON MULTI-DIMENSIONAL VARIABLES: This chapter details matrix arithmetic, linear equation solving, and various statistical operations that can be performed on multi-dimensional variables.
CH IV - PLOTTING: This chapter provides a comprehensive introduction to MATLAB data visualization tools, including basic 1D and 2D plotting functions and GUI-based plot editing.
CH V - ADVANCED PLOTTING: This chapter explores advanced topics in plotting, such as subplots, 3D plots, meshgrid, and various specialized chart types.
CH VI - SYMBOLIC MATHEMATICS: This chapter demonstrates the use of symbolic computation in MATLAB for algebraic manipulation, differentiation, and integration.
CH VII - PROGRAMMING I - SCRIPT FILES: This chapter introduces scripting in MATLAB, showing how to automate sequences of commands using M-files.
CH VIII - PROGRAMMING II - FUNCTIONS: This chapter explains the structure and usage of function programs, allowing for modular and flexible code design.
CH IX - PROGRAMMING III - FLOW CONTROL: This chapter covers controlling program execution using conditional IF statements, SWITCH structures, and loops (FOR and WHILE).
CH X - STRINGS, INPUT/OUTPUT AND FILE OPERATIONS: This chapter focuses on string processing, user-friendly input/output formatting, and file management in MATLAB.
CH XI - BASIC GRAPHICAL USER INTERFACE (GUI - I): This chapter introduces basic GUI components such as menus, input dialogs, and message boxes.
CH XII - ADVANCED GRAPHICAL USER INTERFACE (GUI - II): This chapter explores creating complete GUI-based applications using the GUIDE interface development environment.
CH XIII - APPLICATIONS I - SIGNAL PROCESSING: This chapter provides practical examples for signal simulation, noise modeling, filtering, and frequency domain analysis using FFT and DCT.
CH XIV - APPLICATIONS II - IMAGE PROCESSING: This chapter covers image reading, viewing, color filtering, and object property analysis in 2D signals.
CH XV - APPLICATIONS III - CLUSTERING AND CLASSIFICATION: This chapter explores pattern recognition techniques including template matching, k-means clustering, and artificial neural networks.
Keywords
MATLAB, Programming, Data Types, Matrices, Plotting, GUI, GUIDE, Signal Processing, Image Processing, Clustering, Classification, Symbolic Mathematics, Scripts, Functions, Flow Control
Frequently Asked Questions
What is the primary purpose of this book?
The book serves as a practical, comprehensive introduction to MATLAB programming, specifically designed to help students in computer science and engineering fields rapidly develop and test their projects through a hands-on, walk-through learning approach.
What are the core thematic areas covered?
The core areas include MATLAB basics (environment and syntax), data types, advanced programming constructs (scripts, functions, flow control), data visualization (basic and advanced plotting, GUI development), and practical applications in signal processing, image processing, clustering, and classification.
What is the main objective of the programming chapters?
The primary goal is to transition users from simple command-line interactions to more advanced scripting and function-based programming, which allows for cleaner, more flexible, and robust code.
Which scientific methods are primarily utilized?
The book demonstrates various computational and analytical methods, including statistical analysis, signal simulation and filtering (FFT, moving averages, Butterworth filters), image processing (edge detection, morphological operations), and machine intelligence techniques like k-means clustering, neural networks, and Bayesian inference.
What is covered in the signal and image processing chapters?
These chapters provide practical testbeds for simulation, noise reduction, and feature extraction. They cover topics ranging from signal generation and filtering to image reading, color space manipulation, and calculating object properties for classification.
How is the "walk-through" learning strategy implemented?
The strategy is implemented through numerous step-by-step examples where source code is provided for every lesson, and each example is accompanied by an explanation of the specific commands used, ensuring the user can practice and understand the functionality directly in MATLAB.
How does the book handle error correction in the command line?
It provides specific chapters and examples detailing how to identify syntax errors, understand error messages reported by MATLAB, and use keyboard shortcuts (like up-arrow) to recall and correct previous commands.
What is the approach to GUI development?
The book teaches GUI development in two phases: first by using basic components programmatically (Chapter XI), and then by utilizing the GUIDE environment for more sophisticated, visual-based application development (Chapter XII).
How are symbolic math operations introduced?
Symbolic math is taught by defining variables as symbols rather than literal values, enabling MATLAB to perform algebraic expansions, factoring, differentiation, and integration, returning symbolic expressions as the result.
How does the book guide the reader through clustering and classification?
It starts with fundamental techniques like template matching based on distance and correlation, moves through k-means clustering, and concludes with more complex models like artificial neural networks and Bayesian Gaussian inference, showing how these can be applied to classify data or image regions.
- Citation du texte
- Aaron Rababaah (Auteur), 2018, Introduction to Matlab Programming with Applications, Munich, GRIN Verlag, https://www.grin.com/document/420539